c 中vector容器的基本操作

2021-10-23 16:30:27 字數 2293 閱讀 7612

什麼是vector?

向量(vector)是乙個封裝了動態大小陣列的順序容器(sequence container)。跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,簡單的理解就是乙個可以動態變化的陣列。

vector的容量是隨著你放入元素的數量而動態變化的。但是其只會增長而不是縮小

基本操作

在使用容器是要先寫好標頭檔案#include

構造容器

以int型別的為例子

void

test01()

; vector<

int>

v2(arr, arr +

sizeof

(arr)

/sizeof

(int))

;//建立乙個容器用arr中的元素填充

vector<

int>

v3(v2.

begin()

, v2.

end())

;//使用迭代器,用v2的區間當做新容器的元素。

vector<

int>

v4(v3)

;//拷貝建構函式,建立乙個一模一樣的容器

pr(v4)

;}

常用的賦值操作

void

test02()

; vector<

int>

v1(arr, arr +

sizeof

(arr)

/sizeof

(int))

; vector<

int>v2;

v2.assign

(v1.

begin()

, v1.

end())

;//拷貝

//過載

vector<

int>v3;

v3 = v2;

int arr1=

; vector<

int>

v4(arr1, arr1 +

sizeof

(arr1)

/sizeof

(int))

; v4.

swap

(v1);pr

(v4)

;}

size與capacity

size是返回該容器中的元素個數,而capacity則是返回該容器的容量,他們的區別就好像是杯子的大小和杯中水的體積一樣

void

test03()

; vector<

int>

v2(arr, arr +

sizeof

(arr)

/sizeof

(int))

; cout << v2.

size()

;//元素個數 判斷是否為空用empty

v2.resize(5

);//改變容器內元素的個數,多餘的會刪除掉,如果比以前變大了預設新增0。不想用預設可以resize(10,想要的值),而且只能改變元素個數,並不能改變容器容量

v2.capacity()

;//返回容器的容量,與size不同的是size為容器裡有多少元素,而capacity為容器的大小

vector<

int>()

.swap

(v2)

;//如果向縮小容量可以使用swap這種方法,讓v2和匿名空間兩者交換指標的指向,這種方法也相當於是釋放了空間

v2.front()

;//返回容器中第乙個元素

v2.back()

;//返回容器中最後乙個元素 ,他們與begin和end不同的地方在於begin和end返回的是迭代器

}

插入和刪除操作

void

test04()

reserve和resize的區別

//reserve是預留空間的,如果一開始想好了容器的大小可以直接用reserve去定義。

遍歷

void

pr(vector<

int>v)

}

vector的優點:

可以使用下標訪問個別的元素

迭代器可以按照不同的方式遍歷容器

可以在容器的末尾增加或刪除元素

c 容器vector的基本操作

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...

C 中vector的基本操作

建立乙個空的 vector vectorv 新增元素 注意 push back 和pop back只能在尾部新增和刪除,不能操作頭部 v.push back 3.1415926 v.push back string adiabatic 刪除元素 pop back v.pop back 3.14159...

C 中vector的基本操作

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...