C vector使用方法

2021-10-10 01:33:45 字數 3168 閱讀 5452

3.4 重要說明

在 c++ 中,vector 是乙個十分有用的容器。它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。

vector 是同一種型別的物件的集合,每個物件都有乙個對應的整數索引值。和 string 物件一樣,標準庫將負責管理與儲存元素相關的記憶體。

我們把 vector 稱為容器,是因為它可以包含其他物件。乙個容器中的所有物件都必須是同一種型別的。

注意事項:

1、如果表示的向量長度較長(需要為向量內部儲存很多數),容易導致記憶體洩漏,而且效率會很低;

2、vector 作為函式的引數或者返回值時,需要注意它的寫法, 其中的「&」絕對不能少!!!

double

distance

(vector<

int>

&a, vector<

int>

&b)

使用前,需匯入標頭檔案#include

vector 是乙個類模板(class template)。使用模板可以編寫乙個類定義或函式定義,而用於多個不同的資料型別。因此,我們可以定義儲存 string 物件的 vector,或儲存 int 值的 vector,又或是儲存自定義的類型別物件(如 sales_items 物件)的 vector。

宣告從類模板產生的某種型別的物件,需要提供附加資訊,資訊的種類取決於模板。以 vector 為例,必須說明 vector 儲存何種物件的型別,通過將型別放在型別放在類模板名稱後面的尖括號中來指定型別:

宣告解釋

vector v1

儲存型別為 t 物件。預設建構函式 v1 為空

vector v2(v1)

v2 是 v1 的乙個副本

vector v3(n, i)

v3 包含 n 個值為 i 的元素

vector v4(n)

v4 含有值初始化的元素的 n 個副本

注意:1、若要建立非空的 vector 物件,必須給出初始化元素的值;

2、當把乙個 vector 物件複製到另乙個 vector 物件時,新複製的 vector 中每乙個元素都初始化為原 vectors 中相應元素的副本。但這兩個 vector 物件必須儲存同一種元素型別;

3、可以用元素個數和元素值對 vector 物件進行初始化。建構函式用元素個數來決定 vector 物件儲存元素的個數,元素值指定每個元素的初始值。

vector 物件(以及其他標準庫容器物件)的重要屬性就在於可以在執行時高效地新增元素。

建立乙個名為test,資料型別為int的vector。

vector<

int>test;

//建立乙個vector

test.

push_back(1

);test.

push_back(2

);//把1和2壓入vector,這樣test[0]就是1,test[1]就是2

建立乙個二維vector。

vector

> points;

//定義乙個二維陣列

points[0]

.size()

;//指第一行的列數

說明

命令備註

標頭檔案#include

建立vector物件

vectorvec

尾部插入數字

vec.push_back(a)

使用下標訪問元素

cout《下標是從0開始的

在插入元素

vec.insert(vec.begin()+i,a)在第i+1個元素前面插入a

刪除元素

vec.erase(vec.begin()+2)

刪除第3個元素

向量大小

vec.size()

清空vec.clear()

使用迭代器訪問元素.

vector<

int>

::iterator it;

for(it=vec.

begin()

;it!=vec.

end(

);it++

) cout<<

*it<標頭檔案:#include

將元素翻**reverse(vec.begin(),vec.end());

標頭檔案:#include

將元素排序(公升序,從小到大):sort(vec.begin(),vec.end());

vector<

float

> vecclass;

int nsize = vecclass.

size()

;

//列印 vecclass方法一:陣列的下表必須保證是整數

for

(int i=

0;i)

//列印 vecclass方法二

for

(int i=

0;i)

//列印 vecclass方法三:輸出某一指定的數值時不方便

for

(vector<

float

>

::iterator it = vecclass.

begin()

;it!=vecclass.

end(

);it++

)

vector 的元素不僅僅可以是 int,double,string 還可以是結構體,但是要注意:結構體要定義為全域性的,否則會出錯。

#include

#include

#include

#include

using

namespace std;

typedef

struct rect

}}rect;

intmain()

C vector的使用方法

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

c vector 向量 使用方法詳解

vector 是向量型別,它可以容納許多態別的資料,如若干個整數,所以稱其為容器。vector 是c stl的乙個重要成員,使用它時需要包含標頭檔案 複製 如下 include 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10個整型元素的向量 尖括號中為...

c vector 向量 使用方法詳解

vector 是向量型別,它可以容納許多態別的資料,如若干個整數,所以稱其為容器。vector 是c stl的乙個重要成員,使用它時需要包含標頭檔案 include vector 容器的長度不固定,能夠在程式執行時動態地改變。一 vector 的初始化 可以有五種方式,舉例說明如下 1 vector...