來自初學者的vector容器總結 C C

2021-10-07 11:24:57 字數 3890 閱讀 6836

vector 常被稱為向量容器,是 stl 中最常用的容器之一,

vector容器簡單的說:vector是乙個能夠存放任意型別的動態單端陣列,能夠增加和壓縮資料。

使用vector容器必須包含標頭檔案:#include

vector屬於std命名域的內容,因此需要通過命名限定:using std::vector;也可以直接使用全域性的命名空間方式:using namespace std;

**:

#include

< vector>

#include

< iostream>

using

namespace std;

void

printvector

(vector<

int>

& v)

cout << endl;

}int

main()

printvector

(v1)

; v.end()); 將v[begin(), end())區間中的元素拷貝給本身。

vector<

int>

v2(v1.

begin()

, v1.

end())

;printvector

(v2)

;//`vector(int nsize,const t& t): 建立乙個vector,元素個數為nsize,且值均為t。

vector<

int>v3(

10,100)

;printvector

(v3)

; vector &vec); 拷貝建構函式。

vector<

int>

v4(v3)

;printvector

(v4)

;}

vector& operator=(const vector &vec); 過載等號操作符,就是直接賦值。

vector<

int> v1, v2;

for(

int i =

0; i <

10; i++

) v2 = v1;

assign(beg,end)將[beg,end)乙個左閉右開區間的資料賦值給c。

vector<

int> v1,v2;

v1.push_back(10

);v1.

push_back(20

);v2.

push_back(30

);v2.

assign

(v1.

begin()

,v1.

end())

;

assign (n,elem)將n個elem的拷貝賦值給c。

vector<

int> v;

v.assign(5

,10);

//往v裡放5個10

**:

#include

< vector>

#include

< iostream>

using

namespace std;

intmain()

**:

#include

#include

< iostream>

using

namespace std;

void

printvector

(vector<

int>

& v)

cout << endl;

}int

main()

printvector

(v1);if

(v1.

empty()

)else

//resize 重新指定大小 ,若指定的更大,預設用0填充新位置,可以利用過載版本替換預設填充

v1.resize(15

,10);

printvector

(v1)

;//resize 重新指定大小 ,若指定的更小,超出部分元素被刪除

v1.resize(5

);printvector

(v1)

;return0;

}

**:

#include

#include

< iostream>

using

namespace std;

intmain()

for(

int i =

0; i < v1.

size()

; i++

) cout << endl;

for(

int i =

0; i < v1.

size()

; i++

) cout << endl;

cout <<

"v1的第乙個元素為: "

<< v1.

front()

<< endl;

cout <<

"v1的最後乙個元素為: "

<< v1.

back()

<< endl;

return0;

}

**:

#include

#include

< iostream>

using

namespace std;

void

printvector

(vector<

int>

& v)

cout << endl;

}int

main()

printvector

(v1)

;for

(int i =

1000

; i >

0; i--

)printvector

(v2)

;//互換容器

cout <<

"互換後"

<< endl;

v1.swap

(v2)

;printvector

(v1)

;printvector

(v2)

; cout <<

"v的容量為:"

<< v1.

capacity()

<< endl;

cout <<

"v的大小為:"

<< v1.

size()

<< endl;

v1.resize(30

);cout <<

"v的容量為:"

<< v1.

capacity()

<< endl;

cout <<

"v的大小為:"

<< v1.

size()

<< endl;

//收縮記憶體

vector<

int>

(v1)

.swap

(v1)

;//匿名物件

cout <<

"v的容量為:"

<< v1.

capacity()

<< endl;

cout <<

"v的大小為:"

<< v1.

size()

<< endl;

return0;

}

初學者學習C STL之vector容器

一 建立vector物件 1 vectorival 建立乙個空的整形的容器物件ival。2 vectorival n 建立乙個具有n個元素的整形vector物件。3 vectorival n,value 建立乙個具有n個元素的vector物件,每個物件初始值為value。4 vectorival1 ...

vector模板,初學者必讀

vector 稱為向量,是一種類模板,其宣告包含在標頭檔案 vector 中,所以使用veto 時需要包含標頭檔案 vector vector是一種支援高效地隨機訪問和高效地向尾部插入新元素的容器,它一般實現為一 個動態分配的陣列,所以在程式開發過程中,使用vector作為動態陣列是非常方便的 類 ...

初學者的迷惑

隨著軟體質量的要求越來越高,軟體測試也相對變的重要了,迫於就業的壓力,我選擇了軟體測試這一行,作為了自己第二技能,其實更想將它變成自己的第一求職選擇。初學測試我就遇到了難題,不知道是自己的理解有問題還是教學體系不好,對於測試用例的編寫,原先理解的是你想怎麼寫就怎麼寫 當然是根據所要測試的軟體來 可是...