説明:容器のベクトル方向の開口部が連続したメモリ空間であり、両端キュー連続線形空間は、双方向の開口です。あなたは頭の中の要素とテールの両端にそれぞれ挿入および削除を行うことができます。つまり、いわゆる双方向の開口部は、もちろん、ベクトルコンテナ要素もその頭の中で受け入れることができない、頭と尾が、かなり貧弱な業務効率の両端に挿入することができます。
注:イテレータ両端キュー容器は、通常、ポインタ、その複雑ではなく、ベクトルは、個々の操作のレベルに影響を与える大きさのオーダーではありません。それが必要な場合を除きしたがって、我々はむしろ両端キューよりも、ベクトルとして使用する必要があります。
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を削除位置データ、次のデータの復帰