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 如果你要表示的向量長度較長 ...