vector容器概念以及用法

2021-10-20 07:07:22 字數 2206 閱讀 1729

3.2.1功能:

vector資料結構和陣列非常相似,也稱為單端陣列

vector與普通陣列區別

不同之處在於陣列是靜態空間,而vector可以動態擴充套件

動態擴充套件:

並不是在原空間之後續接新空間,而是找更大的記憶體空間,然後將原資料拷貝新空間,釋放原空間

vector建構函式

功能描述:

建立vector容器

函式原型:

vectorv;

//採用模板類實現,預設建構函式

vector

(v.begin()

, v.

endl()

);//將v[begin(),end()]區間中元素拷貝給本身

vector

(n, elem)

;//建構函式將n個elem拷貝給本身。

vector

(const vector &vec)

;//拷貝建構函式

**示例:

#include

#include

using

namespace std;

void

printvector

(vector<

int>

&v) cout << endl;

}//vector容器構造

void

test01()

printvector

(v1)

;//通過區間方式進行構造

vector<

int>

v2(v1.

begin()

, v1.

end())

;printvector

(v2)

;//n個elem方式構造

vector<

int>v3(

10,100)

;printvector

(v3)

;//拷貝構造

vector<

int>

v4(v3)

;printvector

(v4);}

intmain()

總結:vector的多種構造方式沒有可比性,靈活使用即可

功能描述:

給vector容器進行賦值

vector&

operator=(

const vector &vec)

;//過載等號操作符

assign

(beg, end)

;//將[beg,end]區間中的資料拷貝賦值給本身

assign

(n, elem)

;//將n個elem拷貝賦值給本身。

**示例:

#include

#include

using

namespace std;

void

printvector

(vector<

int>

&v) cout << endl;

}//vector賦值

void

test01()

printvector

(v1)

;//賦值 operator=

vector<

int>v2;

v2 = v1;

printvector

(v2)

;//assign

vector<

int>v3;

v3.assign

(v1.

begin()

, v1.

end())

;printvector

(v3)

;//n個elem方式賦值

vector<

int>v4;

v4.assign(10

,100);

printvector

(v4);}

intmain()

總結:vector賦值方式比較簡單,使用operator

=,或者assign都可以。

C STL 容器Vector的簡單概念和用法

一 vector的概念 模板類vector類似於string類,本質上也是一種動態陣列。它是使用new運算子動態建立陣列的替代品。實際上,vector類確實用new和delete運算子來管理記憶體 計算機自動完成 因此,vector類所建立的物件都儲存在自由儲存區即 free store。二 使用v...

容器vector 的用法

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

vector容器用法

1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec.begin it vec.end it cout it 6 插入元素 vec.i...