C 中vector的用法

2021-07-24 20:38:22 字數 1793 閱讀 1533

一、基本操作

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...