前言
容器是指容納特定型別物件的集合。順序容器則是指該容器根據位置訪問儲存在其中的物件。Vector,List,Deque是三種常見的容器,本文將歸納這三種容器常用的函式,以備日後查閱。
描述符說明
在以下函式解釋中,C 表示容器型別名,T表示容器的元素型別,c 表示待建立的/待處理的容器物件,其它描述符則在文中具體位置說明。
一 容器定義函式
1. C<T> c
建立一個空的容器 c
2. C c( c2 )
用 容器c2 建立 容器c
3. C c( b, e )
用 迭代器 b 和 e 之間的元素建立容器 c。
下函式4,5僅用於順序容器。
4. C c( n, t )
建立容器 c 並將 c 初始化為一個具有 n 個元素 t 的容器。
5. C c( n )
建立容器 c 並將 c 初始化為一個具有 n 個 值初始化元素的容器。
說明:建立容器物件必須要滿足兩個條件:
1. 元素型別必須支援賦值運算
2. 元素型別的物件必須可以複製
二 獲取迭代器函式
1. c.begin()
返回一個指向容器 c 第一個元素的迭代器
2. c.end()
返回一個指向容器 c 最後一個元素的下一個元素的迭代器
三 容器大小函式
1. c.size()
返回容器 c 中元素的個數
2. c.empty()
返回容器 c 中元素是否為 0 的布林值
3. c.resize( n )
調整容器 c 的長度大小,使其能容納 n 個元素。若 n < c.size() 則刪除多餘元素,否則對新元素進行值初始化。
4. c.resize( n, t )
調整容器 c 的長度大小,使其能容納 n 個元素。若 n < c.size() 則刪除多餘元素,否則將新元素初始化為元素 t。
四 增加元素函式
1. c.push_back( t )
在容器 c 之後插入元素 t
2. c.push_front( t )
在容器 c 最前端插入元素 t
PS:該函式僅適用於 list 和 deque 容器型別
3. c.insert( p, t )
在迭代器 p 之前插入元素 t ,返回指向新插入元素的迭代器。
4. c.insert( p, n, t )
在迭代器 p 之前插入 n 個元素 t
5. c.insert( p, b, e )
在迭代器 p 之前插入迭代器 p 和 e 之間的元素
五 刪除元素函式
1. c.erase( p )
刪除迭代器 p 所指向的元素,返回指向被刪除元素的後一個元素的迭代器。
2. c.erase( b, e )
刪除迭代器 b 和 e 之間的所有元素,返回指向被刪除元素段的後一個元素的迭代器。
3. c.clear()
刪除容器 c 的所有元素
4. c. pop_back()
刪除容器 c 的最後一個元素
5. c.pop_front()
刪除容器 c 的第一個元素
PS:僅用於 list 和 deque 函式
六 賦值函式
1. c1 = c2
刪除容器 c1 中的所有元素,再將容器 c2 的值拷貝進去。
2. c1.swap( c2 )
將容器 c1 和 c2 的內容交換
3. c.assign( b, e )
重置容器 c,將迭代器 b 和 e 之間的元素複製進去。
4. c.assign( n, t )
重置容器 c,將 c 的元素置為 n 個元素 t。