【vector】用法

原文—

是一個能夠存放任意類型的動態數組。
簡單的用法:
vectortest;//建立一個vector
test.push_back(1);
test.push_back(2);//把1和2壓入vector這樣test[0]就是1,test[1]就是2
int i =test.at(1);//at訪問,i爲2
//注意是從0 開始的

頭文件#include<vector>.

創建vector對象,vector<int> vec;

尾部插入數字:vec.push_back(a);

插入元素:    vec.insert(vec.begin()+i,a);在第i+1個元素前面插入a;

刪除元素:    vec.erase(vec.begin()+2);刪除第3個元素
vec.erase(vec.begin()+i,vec.end()+j);刪除區間[i,j-1];區間從0開始

向量大小:vec.size();

清空:vec.clear();

vector的元素不僅僅可以使int,double,string,還可以是結構體,但是要注意:

結構體要定義爲全局的

vector<int> c.
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()             返回指向容器最後一個元素的迭代器

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)             將c1和c2元素互換。
swap(c1,c2)             同上操作。
vector<Elem> c            創建一個空的vectorvector <Elem> c1(c2)     複製一個vectorvector <Elem> c(n)        創建一個vector,含有n個數據,數據均已缺省構造產生。
vector <Elem> c(n, elem)        創建一個含有n個elem拷貝的vectorvector <Elem> c(beg,end)          創建一個以[beg;end)區間的vector。
c.~ vector <Elem>()           銷燬所有數據,釋放內存。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章