一、capacity容量
vector的容量永遠大於或等於其大小,一旦容量等於大小,便是滿載,下次再有新增元素,整個vector容器就得另尋居所。
1、c.capacity(); …不重新分配記憶體空間的話,c可以儲存多少元素
2、c.reserve(); …分配至少能容納n個元素的記憶體空間
vector v;
for(int i =
0; i <
10; i++
)
輸出:
123
4669
9913請按任意鍵繼續.
..
二、vector的構造和賦值
//賦值
vector v1;
vectorv2(
10,100)
;printvector
(v2);
vector
v3(v2.
begin()
, v2.
end())
;printvector
(v3)
;//賦值
vector v4;
v4.assign
(v3.
begin()
, v3.
end())
;//等價於v4=v3
printvector
(v4)
; int arr=
; vector
v5(arr, arr +
sizeof
(arr)
/sizeof
(int));
//swap交換
v4.swap
(v5)
;printvector
(v4)
;
輸出:
100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100100
100234
19請按任意鍵繼續.
..
三、vector大小操作
vector v1 =
; cout <<
"v1中元素的個數為:"
<< v1.
size()
<< endl;
//size返回容器中元素的個數
if(v1.
empty()
)//判定容器是否為空
else
//重新指定容器長度 resize
v1.resize(11
);//重新指定容器的長度,若容器長了,則用預設值填充容器的長度
printvector
(v1)
; v1.
resize(3
);//如果容器短了,則末尾超出容器長度的元素被刪除
printvector
(v1)
; v1.
resize(15
,100);
//第二個引數是預設填充的值
printvector
(v1)
;
輸出:
v1中元素的個數為:10
v1不為空12
56956
45116
0125
125100
100100
100100
100100
100100
100100
100請按任意鍵繼續.
..
四、vector的資料訪問操作
vector v1 =
; cout <<
"v1的第乙個元素:"
<< v1.
front()
<< endl;
cout <<
"v1的最後乙個元素:"
<< v1.
back()
<< endl;
輸出:
v1的第乙個元素:1
v1的最後乙個元素:5
請按任意鍵繼續.
..
五、vector的插入和刪除操作
vector v1 =
; v1.
insert
(v1.
begin()
+1,2
,1000);
//第乙個引數是迭代器,第二個是個數,第三個是插入元素
printvector
(v1)
; v1.
pop_back()
;//尾部刪除
printvector
(v1)
; v1.
erase
(v1.
begin()
);//刪除
printvector
(v1)
; v1.
clear()
;//清空
printvector
(v1)
;
輸出:
1
1000
100023
4511000
100023
41000
100023
4請按任意鍵繼續.
..
六、正序遍歷和逆序遍歷
vector v1 =
; cout <<
"正序遍歷結果:"
<< endl;
printvector
(v1)
; cout <<
"逆序遍歷結果:"
<< endl;
for(vector
::reverse_iterator it = v1.
rbegin()
; it != v1.
rend()
; it++
)//如果使用逆序遍歷的話,需要使用reverse_iterator
輸出:
正序遍歷結果:12
345逆序遍歷結果:54
321 請按任意鍵繼續.
..
c 容器vector的基本操作
在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec...
C 容器類Vector 動態陣列
3.vector 示例 大多數程式語言都提供內建的動態陣列,它仍然是乙個隨機訪問的列表資料結構,但大小是可變的。例如,在 c 中的 vector。向量 vector 是乙個封裝了動態大小陣列的順序容器 sequence container 容器類 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可...
C STL中vector容器類的簡單操作
vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件 簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。vector容器類的基本操作有 1 標頭...