注意
以下の説明において:
n :負でない整数
t :要素のインスタンス
i,j :input iterator
p,q :要素のイテレータ
X :コンテナのクラス名
x :コンテナのインスタンス
N :コンテナのサイズ
コンテナ内で定義された型
| vector,deque | list | set,multiset | map,multimap | |
|---|---|---|---|---|
|
○ |
○ |
||
|
○ |
|||
|
○ |
○ |
||
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
||
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
|
○ |
○ |
○ |
○ |
イテレータ-の種類 |
RandomAccess |
Bidirectional |
Bidirectional |
Bidirectional |
・可能な操作とそのオーダー
コンストラクタ/デストラクタ/コピー/交換
```csharp n :負でない整数 t :要素のインスタンス i,j :input iterator X :コンテナのクラス名 x :コンテナのインスタンス comp :比較オブジェクト alloc:アロケーター ```| vector,deque,list | set,multiset,map,multimap | |
|---|---|---|
|
○ |
|
|
○ |
|
|
○ |
|
|
○ |
|
|
○ |
○ |
|
○ |
○ |
|
○ |
○ |
|
○ |
○ |
|
○ |
○ |
|
○ |
○ |
|
○ |
○ |
イテレータ
すべてのコンテナに共通
|
|
|
|
辞書式比較
すべてのコンテナに共通x:コンテナのインスタンス
|
|
|
|
|
|
要素数/領域確保
```csharp n :負でない整数 t :要素のインスタンス ```| vector | deque,list | set,multiset,map,multimap | |
|---|---|---|---|
|
○ |
○ |
○ |
|
○ |
○ |
○ |
|
○ |
○ |
○ |
|
○ |
○ |
|
|
○ |
||
|
○ |
参照
```csharp n :負でない整数 N :コンテナのサイズ key :連想コンテナのキー ```| vector | deque | list | set | multiset | map | multimap | |
|---|---|---|---|---|---|---|---|
|
O(1) |
O(1) |
O(1) |
||||
|
O(1) |
O(1) |
O(1) |
||||
|
O(1) |
O(1) |
|||||
|
O(1) |
O(1) |
|||||
|
O(logN) |
挿入
```csharp n :負でない整数 t :要素のインスタンス i,j :input iterator p,q :要素のイテレータ N :コンテナのサイズ ```| vector | deque | list | set | multiset | map | multimap | |
|---|---|---|---|---|---|---|---|
|
O(N) |
O(N) |
O(1) |
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|
O(N) |
O(N) |
O(1) |
||||
|
O(N) |
O(N) |
O(1) |
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|||
|
O(1) |
O(1) |
|||||
|
O(1) |
O(1) |
O(1) |
削除
```csharp p,q :要素のイテレータ N :コンテナのサイズ key :連想コンテナのキー ```| vector | deque | list | set | multiset | map | multimap | |
|---|---|---|---|---|---|---|---|
|
O(N) |
O(N) |
O(1) |
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|
O(N) |
O(N) |
O(1) |
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|
O(logN) |
O(logN) |
O(logN) |
O(logN) |
|||
|
O(N) |
O(N) |
O(N) |
O(N) |
O(N) |
O(N) |
O(N) |
|
O(1) |
O(1) |
|||||
|
O(1) |
O(1) |
O(1) |
検索
```csharp N :コンテナのサイズ key :連想コンテナのキー ```| set,multiset,map,multimap | |
|---|---|
|
O(logN) |
|
O(logN) |
|
O(logN) |
|
O(logN) |
|
O(logN) |
|
○ |
|
○ |
リスト操作
```csharp t :要素のインスタンス i,j :input iterator p,q :要素のイテレータ x :コンテナのインスタンス pred:述語(真理値を返す関数オブジェクト) comp:比較オブジェクト ```
|
|
|
|
|
|
|
|
|
|
|
|
