C ++ STL - スタックとキュー


注意:元は容易ではない、再現し、支援のためのソースと著者、感謝を示すために必ずしてください!

注意:トレーニングコースからのコンテンツを、完全に正確でないかもしれません!

古典的なデータ構造としてスタックとキュー、僕らあまりにもおなじみ。C ++ STLは、その実施を我々に提供し、スタックとキューです。

スタックコンテナ

後者は高度スタック(姓アウト)のデータ構造であり、それが唯一の出口を有する、唯一の新しい要素が要素を除去する、スタック内のスタック、トップ素子が得られます。スタックの先頭に加えて、他の場所では、スタック・トラバーサルの動作を持っていない要素、トップのみの要素が外部で使用することができ、無イテレータへのアクセスを許可していません。

特徴は以下のように要約スタック:スタックをトラバースすることはできません、ランダムアクセスをサポートしていない、あなただけのトップを介して取得し、スタックの最上位から削除することができます。

データのアクセス

#include <stack>

push();     // 入栈
pop();      // 出栈
top();      // 返回栈顶元素

コンストラクタ

stack<T> s;                     // 默认构造函数
stack(const stack<T> &stk);     // 拷贝构造函数

割り当て

stack<T> &operator=(const stack &stk);  // 重载等号操作符

操作の大きさ

empty();    // 判断栈是否为空
size();     // 返回堆栈的大小

二つのキュー・コンテナ

違いは、スタック、キューデータ構造は、のFIFO(先入れ先出し)であることです。下記に示す共通APIをキュー。

コンストラクタ

queue<T> q;                 // 默认构造函数
queue(const queue &que);    // 拷贝构造函数

データ・アクセス、挿入、および削除

push(elem);     // 往队尾添加元素
pop();          // 从对头移除第一个元素
back();         // 返回队尾元素
front();        // 返回队首元素

割り当て

// 重载等号运算符
queue &operator=(const queue &q);

操作の大きさ

empty();    // 判断队列是否为空
size();     // 返回队列的大小

おすすめ

転載: www.cnblogs.com/laizhenghong2012/p/11785853.html