C 中Vector的用法

2022-05-23 18:12:10 字數 3119 閱讀 8136

vector功能

1.vector是乙個在c++標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。

2.是乙個能夠存放任意型別的動態陣列。 

3.vector是動態空間,隨著元素的加入,它的內部機制會自行擴充空間以容納新元素。

4.向量長度較長時效率比較低。

序列式容器:vector,deque,list

vector:將元素置於乙個動態陣列中加以管理,可以隨機訪問元素(用索引直接訪問),陣列尾部新增或移除元素非常快速。但是在中部或頭部安插元素比較費時;

deque:是「double-ended queue」的縮寫,可以隨機訪問元素(用索引直接訪問),陣列頭部和尾部新增或移除元素都非常快速。但是在中部或頭部安插元素比較費時;

list:雙向鍊錶,不提供隨機訪問(按順序走到需訪問的元素,o(n)),在任何位置上執行插入或刪除動作都非常迅速,內部只需調整一下指標;

1.push_back 在陣列的最後新增乙個資料

2.pop_back 去掉陣列的最後乙個資料

3.at 得到編號位置的資料

4.begin 得到陣列頭的指標

5.end 得到陣列的最後乙個單元+1的指標

6.front 得到陣列頭的引用

7.back 得到陣列的最後乙個單元的引用

8.max_size 得到vector最大可以是多大

9.capacity 當前vector分配的大小

10.size 當前使用資料的大小

11.resize 改變當前使用資料的大小,如果它比當前使用的大,者填充預設值

12.reserve 改變當前vecotr所分配空間的大小

13.erase 刪除指標指向的資料項

14.clear 清空當前的vector

15.rbegin 將vector反轉後的開始指標返回(其實就是原來的end-1)

16.rend 將vector反轉構的結束指標返回(其實就是原來的begin-1)

17.empty 判斷vector是否為空

18.swap 與另乙個vector交換資料

應用例項

#include#include

#include

#include

using

namespace

std;

bool compare(int a, int

b) void

main()

cout

<<"

容器容量為:

"<< obj.size()

//去掉最後乙個元素

cout << "

去掉最後乙個元素之後容器容量為:

"<< obj.size()

//清除容器中的資料

cout << "

清除之後容器容量為:

"<< obj.size()

obj.push_back(6);

obj.push_back(

88);

obj.push_back(

192);

obj.push_back(

413);

//排序使用sort(int start,int end)方法需要新增#include 標頭檔案

//從小到大排序

sort(obj.begin(),obj.end());

cout

<< "

從小到大排序:

"

cout

<< "\n"

;

//從大到小排序

reverse(obj.begin(), obj.end());

cout

<< "

從大到小排序:

"

cout

<< "\n"

;

//重寫sort方法

int a[10] = ;

sort(a, a + 10

, compare);

cout

<< "

重寫sort之後從大到小排序為:

"

cout

<< "\n"

; system(

"pause");

}

執行結果

0,1,2,3,4,容器容量為:5

去掉最後乙個元素之後容器容量為:

4清除之後容器容量為:

0從小到大排序:

6,9,88,192,413

,從大到小排序:

413,192,88,9,6

,重寫sort之後從大到小排序為:

816,722,413,10,9,8,6,2,1,0,

二維陣列

#include#include

#include

#include

using

namespace

std;

void

main()

cout

<< "\n"

; }

system(

"pause");

}

執行結果

第0行元素為:00

0000

第1行元素為:00

0000

第2行元素為:00

0000

第3行元素為:00

0000

第4行元素為:00

0000

第5行元素為:00

0000

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