(C / C ++の学習)25. STLのコンテナ両端キュー

説明:容器のベクトル方向の開口部が連続したメモリ空間であり、両端キュー連続線形空間は、双方向の開口です。あなたは頭の中の要素とテールの両端にそれぞれ挿入および削除を行うことができます。つまり、いわゆる双方向の開口部は、もちろん、ベクトルコンテナ要素もその頭の中で受け入れることができない、頭と尾が、かなり貧弱な業務効率の両端に挿入することができます。

注:イテレータ両端キュー容器は、通常、ポインタ、その複雑ではなく、ベクトルは、個々の操作のレベルに影響を与える大きさのオーダーではありません。それが必要な場合を除きしたがって、我々はむしろ両端キューよりも、ベクトルとして使用する必要があります。

1.コンストラクタ

1両端キュー<T> DEQ; // デフォルトコンストラクタ形態
2両端キュー(BEG、エンド); // コンストラクタ[BEG、コピー素子端)間隔自体に
3。両端キュー(N、ELEM); // コンストラクタELEM nに自身をコピー
4。 両端キューCONST両端キュー&DEQ); // コピーコンストラクタ

2.割り当て

1 ASSIGN(BEG、エンド); // コピーデータ割当[BEG、エンド)間隔自体に
2 ASSIGN(N、ELEM); // 自身に割り当てられたN ELEMコピー
3。両端キュー&演算子 =(constの両端キュー&DEQ ); // オーバーロード等しい演算子
4。スワップ(DEQ); // DEQと素子自体が交換可能

3.操作のサイズ

1 deque.size(); // コンテナ内の要素の数を返す
2 deque.empty(); //は、容器が空であるかどうかを決定する
3。 deque.resize(NUM);
 4  // 容器NUMの長さを再割り当てし、もしコンテナは、新たなポジションを埋めるために、既定値では、長くなり、コンテナが短くなった場合は、長さの終わりを越えてコンテナの要素が削除されます。
。5  deque.resize(NUM、ELEM); 
 6  // コンテナが短くなった場合に容器が長くなる場合、容器の長さは、再指定NUMで、新しい場所ELEM充填位置、長さの端部を越えて容器の要素が削除されます。

4.ダブルエンドの挿入および削除操作

1一back(ELEM); // コンテナのデータ末尾に追加
2 push_front(ELEMを); // データコンテナヘッドに挿入
3。 pop_back(); // 最後のデータコンテナを削除
4。 pop_front(); // コンテナを削除最初のデータ

5.データアクセス

1 AT(IDX); // out_of_range投げた場合、データがインデックスIDX、IDX境界呼ば戻り
2  オペレータ []; // スローされていない直接場合にエラーインデックスIDX、IDX範囲の意味の範囲内でデータを返す
3フロント(); //は、最初のデータを返す
4。戻る(); //は、最後のデータを返します。

6.挿入

1つの INSERT(POS、ELEM); // 要素ELEM位置posのコピーを挿入し、新しいデータの復帰位置
2 INSERT(POS、N、ELEM); // 挿入N ELEMデータ位置pos、ノーリターン値
3インサート(POS、BEG、エンド); // 、データ部位置posには戻り値を[BEG、端部)を挿入しません

7.削除

1クリア(); // すべてのデータ削除の容器
2 ERASE(BEG、エンド); // 削除[BEG、データの終わり)セクション、次のデータ復帰位置
3。 ERASE(POS); // 位置posを削除位置データ、次のデータの復帰

 

おすすめ

転載: www.cnblogs.com/tuihou/p/12409495.html