功能:vector翻譯是向量,其實是乙個長度會根據需要改變的陣列。
標頭檔案:#include< vector> 還要加using namespace std;
定義:vector< typename>name; 比如:
vectorname;\\這樣我就定義了乙個int型的邊長陣列
其他型別的以及二維邊長陣列的定義就類似了,需要注意的是兩個維度都是可變的邊長陣列定義
vector> name;
訪問:
i. 通過下標訪問:這種方式和普通陣列訪問方式一樣
ii. 通過迭代器(iterator)訪問
我理解的迭代器就類似於指向陣列中某個元素的指標,我
們通過指標來訪問vector中的元素,舉個例子,用**和注釋來理解迭代器
#include#includeusing namespace std;
int main()
vector::iterator it=test.begin();\\test.begin()是獲得向量首位址的函式;這句中我們定義了乙個名字叫it的迭代器,這個迭代器是指向int型的vector的,且我們給它賦值了test的首位址
for(int j;j<6;++j)
{ cout<<*(it+j)《輸出結果
123push_back(i):這個剛剛用過了,作用就是在vector的最後新增乙個元素i45
pop_back():顧名思義了,把最後乙個元素彈出,所以括號裡就不用新增引數了
size():也是顧名思義,獲得vector的大小,返回乙個unsigned型別,一般我們用int的輸出沒問題
clear():清空vector中所有的元素
insert():若我要在vector中某個位置加入乙個數,就需要用到insert,用法是insert(it,i),向位址為it的位置插入i。插入i之後,其他元素會向後移動乙個位置,所以這個函式的複雜度是o(n)上面那些都是o(1)。
erase():erase(it)擦除it位址的元素,和insert同理了。更高階的用法是erase(first,last)擦除first到last左閉右開的所有元素
STL標準模板庫 vector
原 2019年02月09日 12 24 18 bbbbbinary 閱讀數 162 更多分類專欄 stl 筆記總結 vector可以看作陣列的增強版,可以用類似陣列的直接取得方式訪問,也可以使用函式操作,好處是可以不用提前規定長度,可以實現不定長度的儲存。需要的標頭檔案 include vector...
STL標準模板庫 vector
原 2019年02月09日 12 24 18 bbbbbinary 閱讀數 162 更多分類專欄 stl 筆記總結 vector可以看作陣列的增強版,可以用類似陣列的直接取得方式訪問,也可以使用函式操作,好處是可以不用提前規定長度,可以實現不定長度的儲存。需要的標頭檔案 include vector...
C 標準模板庫(STL)之vector
vector即長度可變的陣列 標頭檔案宣告 include using namespace std 1.定義 vector int v vectorint age 兩個 之間需加空格,不然會被誤以為是移位操作 vector int vi 100 vector陣列,vi 0 vi 99 每乙個都是乙個...