c 中vector用法詳解

2021-08-27 03:36:50 字數 1529 閱讀 3780

vector(向量): c++中的一種資料結構,確切的說是乙個類.它相當於乙個動態的陣列,當程式設計師無法知道自己需要的陣列的規模多大時,用其來解決問題可以達到最大節約空間的目的.

變數宣告:

例:宣告乙個int向量以替代一維的陣列:vector a;(等於宣告了乙個int陣列a,大小沒有指定,可以動態的向裡面新增刪除)

例:用vector代替二維陣列.其實只要宣告乙個一維陣列向量即可,而乙個陣列的名字其實代表的是它的首位址,所以只要宣告乙個位址的向量即可,即:vector a.同理想用向量代替三維陣列也是一樣,vector a;再往上面依此類推.

具體的用法以及函式呼叫:

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交換資料

詳細的函式實現功能:其中vectorc.

c.clear()         移除容器中所有資料。

c.empty()         判斷容器是否為空。

c.erase(pos)        刪除pos位置的資料

c.erase(beg,end) 刪除[beg,end)區間的資料

c.front()         傳回第乙個資料。

c.insert(pos,elem)  在pos位置插入乙個elem拷貝

c.pop_back()     刪除最後乙個資料。

c.push_back(elem) 在尾部加入乙個資料。

c.resize(num)     重新設定該容器的大小

c.size()         回容器中實際資料的個數。

c.begin()           返回指向容器第乙個元素的迭代器

c.end()             返回指向容器最後乙個元素的迭代器

C 中vector用法詳解

vector是c 標準模板庫 standard template library,stl 中的部分內容,vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件。說明 vector 向量 c 中的一種資料結構,確切的說是乙個類。它相當於乙個動態的陣列,當程式設計師無法知道自己需要...

c 中vector的用法詳解

vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector是乙個容器,它能夠存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,可以動態改變大小。用法 1.為了使用vector,必須在你的標頭檔案中包含下面的 inc...

c 中vector的用法詳解

向量 vector 是一種物件實體,能夠容納許多其他型別相同的元素,因此又被稱為容器。與string相同,vector 同屬於stl standard template library,標準模板庫 中的一種自定義的資料型別,可以廣義上認為是陣列的增強版。vector 容器與陣列相比其優點在於它能夠根...