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...