STL中vector使用詳解

2021-08-07 02:01:24 字數 3012 閱讀 7222

vector類常用的函式如下所示:

1.建構函式

vector():建立乙個空vector

vector(int nsize):建立乙個vector,元素個數為nsize

vector(int nsize,const t& t):建立乙個vector,元素個數為nsize,且值均為t

vector(const vector&):複製建構函式

vector(begin,end):複製[begin,end)區間內另乙個陣列的元素到vector中

2.增加函式

void push_back(const t& x):向量尾部增加乙個元素x

a.insert(a.begin()+1,5); //在a的第1個元素(從第0個算起)的位置插入數值5,如a為1,2,3,4,插入元素後為1,5,2,3,4

a.insert(a.begin()+1,3,5); //在a的第1個元素(從第0個算起)的位置插入3個數,其值都為5

a.insert(a.begin()+1,b+3,b+6); //b為陣列,在a的第1個元素(從第0個算起)的位置插入b的第3個元素到第5個元素(不包括b+6),如b為1,2,3,4,5,9,8,插入元素後為1,4,5,9,2,3,4,5,9,8

iterator insert(iterator it,const t& x):向量中迭代器指向元素前增加乙個元素x

iterator insert(iterator it,int n,const t& x):向量中迭代器指向元素前增加n個相同的元素x

iterator insert(iterator it,const_iterator first,const_iterator last):向量中迭代器指向元素前插入另乙個相同型別向量的[first,last)間的資料

3.刪除函式

iterator erase(iterator it):刪除向量中迭代器指向元素

iterator erase(iterator first,iterator last):刪除向量中[first,last)中元素

void pop_back():刪除向量中最後乙個元素

void clear():清空向量中所有元素

4.遍歷函式

reference at(int pos):返回pos位置元素的引用

reference front():返回首元素的引用

reference back():返回尾元素的引用

iterator begin():返回向量頭指標,指向第乙個元素

iterator end():返回向量尾指標,指向向量最後乙個元素的下乙個位置

reverse_iterator rbegin():反向迭代器,指向最後乙個元素

reverse_iterator rend():反向迭代器,指向第乙個元素之前的位置

5.判斷函式

bool empty() const:判斷向量是否為空,若為空,則向量中無元素

6.大小函式

int size() const:返回向量中元素的個數

int capacity() const:返回當前向量張紅所能容納的最大元素值

int max_size() const:返回最大可允許的vector元素數量值

7.其他函式

void swap(vector&):交換兩個同型別向量的資料

void assign(int n,const t& x):設定向量中第n個元素的值為x

void assign(const_iterator first,const_iterator last):向量中[first,last)中元素設定成當前向量元素

v.shrink_to_fit(); 壓縮vector大小用的.

vector函式列表

c.assign(beg,end)  將[beg; end)區間中的資料賦值給c。

c.assign(n,elem)   將n個elem的拷貝賦值給c。

c.at(idx)          傳回索引idx所指的資料,如果idx越界,丟擲out_of_range。

c.back()           傳回最後乙個資料,不檢查這個資料是否存在。

c.begin()          傳回迭代器中的第乙個資料位址。

c.capacity()       返回容器中資料個數。

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

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

c.end()            指向迭代器中末端元素的下乙個,指向乙個不存在元素。

c.erase(pos)       刪除pos位置的資料,傳回下乙個資料的位置。

c.erase(beg,end)   刪除[beg,end)區間的資料,傳回下乙個資料的位置。

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

get_allocator      使用建構函式返回乙個拷貝。

c.insert(pos,elem)     在pos位置插入乙個elem拷貝,傳回新資料位置。

c.insert(pos,n,elem)   在pos位置插入n個elem資料。無返回值。

c.insert(pos,beg,end)  在pos位置插入在[beg,end)區間的資料。無返回值。 

c.max_size()       返回容器中最大資料的數量。

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

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

c.rbegin()         傳回乙個逆向佇列的第乙個資料。

c.rend()           傳回乙個逆向佇列的最後乙個資料的下乙個位置。

c.resize(num)      重新指定佇列的長度。

c.reserve()        保留適當的容量。

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

c1.swap(c2)

swap(c1,c2)        將c1和c2元素互換。同上操作。

operator         返回容器中指定位置的乙個引用。

STL之vector使用詳解

好久不用stl了,忘的差不多了,總結一下vector的使用方式,就不對每個方法做出詳細解釋了,只給出了如何用 void testvector 構造乙個元素值全為2大小為10的vector vectorv1 10,2 用指標構造 vectorv2 a,a 10 用vector iterator構造 v...

STL中的 vector 容器詳解

vector作為stl提供的標準容器之一,是經常要使用的,有很重要的地位,並且使用起來也是灰常方便。vector又被稱為向量,vector可以形象的描述為長度可以動態改變的陣列,功能和陣列較為相似。實際上更專業的描述為 vector是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫,vec...

STL中vector的使用

作用 它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。vector在c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。特別注意 使用vector需要注意以下幾點 1 如果你要表示的向量長度較長 ...