一、基本操作
1.標頭檔案
#include
;
2.建立物件a
vector
a; //定義乙個整型向量a;
vector
a(10); //定義乙個整型向量a,其中有10元素,值隨機;
vector
a(10,2);//定義乙個整型向量a,其中有10個元素,每個值都為2;
a.resize(10); //將a的大小重新定義為10,值隨機;
a.resize(10,2); //將a的大小重新定義為10,每個值都為2;
3.訪問vector中的值
vector
a ;
a.front();//a的第乙個值
a.back(); //a的最後乙個值
a[5]; //a中第6個值,vector下標從0開始。
a.at(5); //a中第6個值
/*對於以上兩種訪問方法,當a為非空時,兩個方法一樣。當a為空或者位址越界,比如a的大小為10,要訪問第12個元素時,a[11]會是乙個隨機的值,a.at(11)會丟擲std
::out_of_range: vector的異常*/
a.size(); //獲取a的大小
4.插入與刪除
vector
a ;
a.push_back(5); //在a的尾部插入乙個元素
a.pop_back(); //刪除a的最後乙個元素
5.輸出vector中所有資料
vector
a;//迴圈輸出
for(int i=0;icout
<" ";
//利用迭代器輸出
vector
::iterator it;
for(it=a.begin();it!=a.end();++it)
cout
<<*it<<" ";
6.將vector中的資料排序
vector
a ;
sort(a.begin(),a,end()); //將a中資料公升序排列
//也可以自定義排序比較函式進行公升序排列
bool cmp (int &a,int &b)
sort(a.begin(),a.end(),cmp);
7.倒置vector中的資料
vector
a ;
reverse(a.begin(),a.end());
8.vector可以放各種資料型別
//放常見的資料型別
vector
a;vector
b;//自定義乙個座標結構體,
typedef
structpoint;
vector
a;point point;
point.x = 1;
point.y = 2;
vector.push_back(point);//將乙個橫座標為1,縱座標為2的點point存入a;
9.清除vector中的所有資料
vector
a ;
a.clear();
10.交換兩個vector中的資料
vector
a ;
vector
b;swap(a,b);
C 中vector的用法
c 內建的陣列支援容器的機制,但是它不支援容器抽象的語義。要解決此問題我們自己實現這樣的類。在標準c 中,用容器向量 vector 實現。容器向量也是乙個類模板。標準庫vector型別使用需要的標頭檔案 include vector 是乙個類模板。不是一種資料型別,vector是一種資料型別。vec...
C 中vector的用法
1 在使用前要包含vector對應的標頭檔案 include 2 vector是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。我們把vector稱為容器,乙個容器中的所有物件都必須是同一種型別的。3 vector是乙個類模板 class template 模板允許程式設計師編寫單個類或函...
c 中的vector用法
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...