vector常見用法詳解
vector是乙個線性順序結構,相當於陣列,可以不預先指定陣列的大小,
並且能夠自動擴建。建立乙個vector後,它會自動在記憶體中分配一塊連續的
記憶體空間進行資料儲存,這個大小即capacity()函式的返回值。當儲存的資料
超過分配的空間時,vector會重新分配一塊記憶體塊,但這樣的分配是很耗時的,
它要將原來的資料複製到新的記憶體塊中,銷毀掉原來記憶體塊中的物件,最後將
原來的記憶體空間釋放掉。
需要標頭檔案#include以及using namespace std;
初始化:
vectorc1;
vectorc2(n);利用元素的default建構函式生成乙個大小為n的vector
vectorc3(n,5);產生乙個大小為n的vector,每個元素值都是5
vectorc4(c1);產生c1的副本
賦值:for(int i=0;i<10;i++)
vector元素個數:c1.size()
訪問:可以用下標訪問:cout<::iterator it1,it2;
it1=c1.begin();或者直接auto it1=c1.begin();
it2=c1.end();(--c1.end)才是最後元素位址
cout << *(it1+2) << endl;輸出第3個元素
c1.assign(it1,it2);
將[it1,it2)區間(注意這裡是左閉右開)中的資料賦值給c1
c1.erase(it1);刪除it1位置的資料,返回下乙個資料的位置
c1.erase(it1+t); 刪除第t+1個元素
c1.erase(it1+i,it1+j);刪除區間[it1+i,itq+j)的元素(左閉右開)
c1.clear();清空
c1.empty();若c1為空,返回值為1,否則為0
c1.capacity();當前已經分配的可以容納的元素個數
c1.assign(5,6);將5個6賦值給c1
vector可以直接賦值:
vectorvec;
auto vec1=vec;
vector可以sort:
sort(vec.begin(),vec.end());
vector的常見用法詳解
1 定義 vectorname 上面的定義就相當於定義了一維陣列name size 只是其長度可以根據需要而變化。這裡的typename可以是任何基本型別,例如int,double,char,結構體等,也可以是stl標準容器,例如vector set queue等。注意如果typename也是乙個s...
vector 常見用法
初始化 vectorv vectorv vec.begin vec.begin 3 用向量vec的第0個到第2個值初始化tmp vectorv arr,arr 5 將arr陣列的元素用於初始化vec向量 1 容量 向量大小 v.size 向量判空 v.empty 2 修改 末尾新增元素 v.push...
vector用法詳解
金河 在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it ...