C 容器vector類的相關操作

2021-10-09 05:19:26 字數 3320 閱讀 3608

一、capacity容量

vector的容量永遠大於或等於其大小,一旦容量等於大小,便是滿載,下次再有新增元素,整個vector容器就得另尋居所。

1、c.capacity(); …不重新分配記憶體空間的話,c可以儲存多少元素

2、c.reserve(); …分配至少能容納n個元素的記憶體空間

vector v;

for(int i =

0; i <

10; i++

)

輸出:

123

4669

9913請按任意鍵繼續.

..

二、vector的構造和賦值

//賦值

vector v1;

vectorv2(

10,100)

;printvector

(v2);

vector

v3(v2.

begin()

, v2.

end())

;printvector

(v3)

;//賦值

vector v4;

v4.assign

(v3.

begin()

, v3.

end())

;//等價於v4=v3

printvector

(v4)

; int arr=

; vector

v5(arr, arr +

sizeof

(arr)

/sizeof

(int));

//swap交換

v4.swap

(v5)

;printvector

(v4)

;

輸出:

100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100100

100234

19請按任意鍵繼續.

..

三、vector大小操作

vector v1 =

; cout <<

"v1中元素的個數為:"

<< v1.

size()

<< endl;

//size返回容器中元素的個數

if(v1.

empty()

)//判定容器是否為空

else

//重新指定容器長度 resize

v1.resize(11

);//重新指定容器的長度,若容器長了,則用預設值填充容器的長度

printvector

(v1)

; v1.

resize(3

);//如果容器短了,則末尾超出容器長度的元素被刪除

printvector

(v1)

; v1.

resize(15

,100);

//第二個引數是預設填充的值

printvector

(v1)

;

輸出:

v1中元素的個數為:10

v1不為空12

56956

45116

0125

125100

100100

100100

100100

100100

100100

100請按任意鍵繼續.

..

四、vector的資料訪問操作

vector v1 =

; cout <<

"v1的第乙個元素:"

<< v1.

front()

<< endl;

cout <<

"v1的最後乙個元素:"

<< v1.

back()

<< endl;

輸出:

v1的第乙個元素:1

v1的最後乙個元素:5

請按任意鍵繼續.

..

五、vector的插入和刪除操作

vector v1 =

; v1.

insert

(v1.

begin()

+1,2

,1000);

//第乙個引數是迭代器,第二個是個數,第三個是插入元素

printvector

(v1)

; v1.

pop_back()

;//尾部刪除

printvector

(v1)

; v1.

erase

(v1.

begin()

);//刪除

printvector

(v1)

; v1.

clear()

;//清空

printvector

(v1)

;

輸出:

1

1000

100023

4511000

100023

41000

100023

4請按任意鍵繼續.

..

六、正序遍歷和逆序遍歷

vector v1 =

; cout <<

"正序遍歷結果:"

<< endl;

printvector

(v1)

; cout <<

"逆序遍歷結果:"

<< endl;

for(vector

::reverse_iterator it = v1.

rbegin()

; it != v1.

rend()

; it++

)//如果使用逆序遍歷的話,需要使用reverse_iterator

輸出:

正序遍歷結果:12

345逆序遍歷結果:54

321 請按任意鍵繼續.

..

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 動態陣列

3.vector 示例 大多數程式語言都提供內建的動態陣列,它仍然是乙個隨機訪問的列表資料結構,但大小是可變的。例如,在 c 中的 vector。向量 vector 是乙個封裝了動態大小陣列的順序容器 sequence container 容器類 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可...

C STL中vector容器類的簡單操作

vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件 簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。vector容器類的基本操作有 1 標頭...