vector是c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。
vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件;
簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。
vector容器類的基本操作有:
(1)標頭檔案:#include
(2)建立物件int型別物件ans:vector < int > ans;
(3)尾部插入元素x
:ans.push_back(x);
(4)在第i個元素(元素標號由0開始)前面插入x:ans.insert( ans.begin( )+i,x );
(5)刪除尾部元素:ans.pop_back();
刪除第i個元素:ans.erase(ans.begin( )+i );
刪除區間[ i , j ):ans.erase(ans.begin( )+i,ans.end( )+j);
(6)訪問第0個元素:cout<
使用迭代器訪問:
vector::iterator it;
for(it=ans.begin();it!=ans.end();it++)
cout<<*it<(7)容器大小:ans.size();
(8)清空:ans.clear();
(9)判斷是否為空:ans.empty();
vector的變數型別不僅可以是int,double,string型別的,還可以是結構體型別,但此時結構體型別要定義為全域性變數。
#include typedef struct node
node;
int main()
兩個vectors被認為是相等的,當且僅當:
它們具有相同的容量且
所有相同位置的元素都相等.
vectors之間大小的比較是按字典序進行的.
此外,vector定義的變數還可以作為其他函式的引數:
(1)使用reverse函式將元素翻**(需要標頭檔案#include)
reverse(ans.begin(),ans.end());將元素翻轉(在vector中,如果乙個函式中需要兩個迭代器,
一般後乙個都不包含.)
(2)使用sort排序:(需要標頭檔案#include)
sort(vec.begin(),vec.end());(預設是按公升序排列,可自己寫cmp函式降序排列).
C STL中的容器 Vector
c stl中的verctor好比是c語言中的陣列,但是vector又具有陣列沒有的一些高階功能。與陣列相比,vector就是乙個可以不用再初始化就必須制定大小的邊長陣列,當然了,它還有許多高階功能。要想用vector首先得包含標頭檔案vector。如果vector的元素型別是int,預設初始化為0 ...
C STL中vector容器的用法
vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔...
C STL中vector容器的用法
vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。為了可以使用vector,必須在你的標頭檔...