Dequeコンテナの紹介
10726 ワード
Dequeの概要
deque:['dek] deque(double-ended-queue)もSTLの容器であり、dequeは両端配列であり、vectorは単端動的配列である. dequeのインタフェースはvectorと類似しており、多くの操作で直接置き換えることができる. dequeは要素にランダムにアクセスでき、インデックス値の直接アクセスをサポートし、[]オペレータまたはat()メソッドを使用する. dequeヘッダとテールに要素を追加または削除するのは非常に速く、中部で要素を挿入または削除するのに時間がかかる.
ヘッダファイル:
dequeコンストラクタ
機能
deque();
デフォルトコンストラクタ
deque(n,elem);
パラメトリックコンストラクタ
deque(const vector&vec);
コピーコンストラクタ
deque(deque_iterator_begin,deque_iterator_end);
反復コピー構造
Dequeオブジェクトのデフォルトコンストラクション関数
dequeはテンプレートクラスで実装され、dequeオブジェクトはデフォルトで構築されます.
Dequeオブジェクトのパラメトリック構造
dequeの最後の追加削除操作
dequeのデータアクセス
dequeと反復器
dequeのサイズ
dequeの挿入
dequeの削除
deque:['dek]
ヘッダファイル:
#include
dequeコンストラクタ
機能
deque();
デフォルトコンストラクタ
deque(n,elem);
パラメトリックコンストラクタ
deque(const vector&vec);
コピーコンストラクタ
deque(deque_iterator_begin,deque_iterator_end);
反復コピー構造
Dequeオブジェクトのデフォルトコンストラクション関数
dequeはテンプレートクラスで実装され、dequeオブジェクトはデフォルトで構築されます.
deque<T>deqT;
// int deque
deque<int>deqInt;
// float deque
deque<float>deqFloat;
// string deque
deque<string>deqString;
//
Dequeオブジェクトのパラメトリック構造
// [begin,end) ,
deque<int> deq1,deq2;
deq1(10);
deq2(deq1.begin(),deq1.end());
// n elem
deque(n,elem);
//
deque(const deque &deq);
dequeの最後の追加削除操作
//
deque.push_back(elem);
//
deque.push_front(elem);
//
deque.pop_back();
//
deque.pop_front();
dequeのデータアクセス
// idx , idx , out_of_range
deque.at(idx);
// idx , idx , ,
deque[idx];
//
deque.front();
//
deque.back();
dequeと反復器
//
deque.begin();
//
deque.end();
//
deque.rbegin();
//
deque.rend();
## deque
```cpp
// [begin,end) ,
deque.assign(begin,end);
// n elem
deque.assign(n,elem);
//
deque& operator=(const deque &deq);
// vec
deque.swap(deq);
dequeのサイズ
//
deque.size();
//
deque.empty();
// num, , , ,
deque.resize(num);
// num, , elem , ,
deque.resize(num,elem);
dequeの挿入
// pos elem ,
deque.insert(pos.elem);
// pos n elem ,
deque.insert(pos,n,elem);
// pos [begin,end) ,
deque.insert(pos,begin,end);
// :
deque<int>deq1,deq2;
deq2.insert(pos,deq1.begin(),deq1.end());
dequeの削除
//
deque.clear();
// [begin,end) ,
deque.erase(begin,end);
// pos ,
deque.erase(pos);