(1) 不帶引數的建構函式初始化
//初始化乙個size為0的vector
vectorabc;
(2) 帶引數的建構函式初始化
//初始化size,但每個元素值為預設值
vector<
int>
abc(10)
;//初始化了10個預設值為0的元素
//初始化size,並且設定初始值
vector<
int>
cde(
10,1);
//初始化了10個值為1的元素
vector<
int> v1 =
;//c++11以上編譯器能通過
sort
(v1.
begin()
,v1.
end())
;
(3) 通過陣列位址初始化
int a[5]
=;//通過陣列a的位址初始化,注意位址是從0到5(左閉右開區間)
vector<
int>
b(a, a+5)
;
(4) 通過同型別的vector初始化
vector<
int>a(
5,1)
;//通過a初始化,但只能在初始化時使用
vector<
int>
b(a)
;vector<
int> c = b;
vector<
int>
v5(a.
begin()
,a.begin()
+1)
(5) 通過insert初始化
//insert初始化方式將同型別的迭代器對應的始末區間(左閉右開區間)內的值插入到vector中
vector<
int>a(
6,6)
;vecot<
int> b;
//將a[0]~a[2]插入到b中,b.size()由0變為3
b.insert
(b.begin()
, a.
begin()
, a.
begin()
+3);
int a[6]
=;vector<
int> b;
//將a的所有元素插入到b中
b.insert
(b.begin()
, a, a+6)
;//在b開始位置處插入6個6
b.insert
(b.begin()
,6,6
);
(1) 新增(刪除)元素
vector<
int> a;
vector<
int> b =;a.
push_back(1
);//末尾新增元素
//如果vector的容器已滿,在末尾新增元素時會alloc申請更大的記憶體,並拷貝之前的元素到新記憶體,再把元素新增到vector容器末尾。
a.pop_back()
;//刪除末尾元素
a.assign
(b.begin()
, b.
begin()
+3);
a.assign(4
,2)//賦值
a.insert
(a.begin()
+1,5
);a.insert
(a.begin()
+1,3
,5);
a.clear()
;//清空a中的元素
a.erase
(a.begin()
+1,a.begin()
+3);
(2) 屬性返回
a[i]
;//返回a的第i個元素
a.back()
;//返回a的最後乙個元素
a.front()
;//返回a的第乙個元素
a.size()
;//返回a中元素的個數;
a.capacity()
;//返回a在記憶體中總共可以容納的元素個數
a.empty()
;//判斷a是否為空,空則返回ture,不空則返回false
(3) 擴充尺寸
a.
resize(10
);//將a的現有元素個數調至10個,多則刪少則補,其值隨機
a.resize(10
,2);
//將a的現有元素個數調至10個多則刪少則補,其值為2
a.reserve
(100);
//將a的容量(capacity)擴充至100,也就是說現在測試a.capacity();的時候返回值是100
a.swap
(b);
//b為向量,將a中的元素和b中的元素進行整體**換
(4) 迭代器新增
int a[6]
=;vector<
int> b;
vector<
int>
c(a,a+4)
;for
(vector<
int>
::iterator it=c.
begin()
;itend(
);it++)b.
push_back
(*it)
;
(5) 重要演算法
#include
sort
(a.begin()
,a.end()
);//對a中的從a.begin()(包括它)到a.end()(不包括它)的元素進行從小到大排列
reverse
(a.begin()
,a.end()
);//對a中的從a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列,如a中元素為1,3,2,4,倒置後為4,2,3,1
copy
(a.begin()
,a.end()
,b.begin()
+1);
//把a中的從a.begin()(包括它)到a.end()(不包括它)的元素複製到b中,從b.begin()+1的位置(包括它)開 始複製,覆蓋掉原有元素
vector<
int>
::iterator it =
find
(v.begin()
, v.
end(),
5);if
(it != v.
end())
else
c 知識點總結
1 c 中判斷物件為空的幾種方式 1 先了解幾個與空型別相關的關鍵字和物件 null 關鍵字表示不引用任何物件的空引用,它是所有引用型別變數的預設值,在2.0版本之前也就只有引用變數型別可以為null,如 string a null 但在c 2.0版本之後,net也引入了可以為null的值型別,但變...
C 知識點總結
程式 資料結構 演算法.c語言是面向過程的,面向過程就是分析出解決問題的步驟,然後用函式將其實現,使用時依次呼叫.程式 物件 訊息.c 是物件導向的,c 物件導向是將構成問題的事物分解成各個物件,每個物件完成在解決整個問題中的行為.主要特點是類,封裝,繼承,多型等。物件導向的語言具有更好的可擴充套件...
C 知識點總結
變數和常量 命名變數 在c 中,使用變數的基本原則是先定義後使用。其命名規範如下 1.必須以字母或下劃線開頭 2.只能由字母 數字 下劃線組成,不能 包含空格 標點符號 運算子及其他符號 3.不能與c 關鍵字同名,如class,new等 例如,正確命名 int i 整型變數 stringuser n...