vector常見用法詳解

2021-07-24 18:13:01 字數 1167 閱讀 2807

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 ...