功能描述:
對vector容器和大小操作
函式原型:
empty()
;//判斷容器是否為空
capacity()
;//容器的容量
size()
;//返回容器指定長度為num,若容器變長,則以預設值填充新位置。
//如果容器變短,則末尾超出容器長度的元素被刪除
resize
(int num, elem)
;//重新指定容器的長度為num,若容器變長,則以elem值填 充新位置。
//如果容器變短,則末尾超出容器長度的元素被刪除
#include
#include
using
namespace std;
void
printvector
(vector<
int>
&v) cout << endl;
}//vector容器和大小
void
test01()
printvector
(v1);if
(v1.
empty()
)//為真 代表容器為空
else
//重新制定大小
v1.resize(15
,88);
//利用過載版本,可以指定預設值填充,引數2
printvector
(v1)
;//如果重新制定的比原來長了,預設用0填充新的位置
v1.resize(5
);printvector
(v1)
;//如果重新指定比原來小,後面的數字會刪掉
}int
main()
總結:
判斷是否為空—empty
返回元素個數—size
返回容器容量–capacity
重新指定大小–resize
功能描述:
對vector中的資料的訪問操作
函式原型:
at
(int idx)
;//返回索引idx所指的資料
operator
;//返回索引idx所指的資料
front()
;//返回容器中第乙個資料元素
back()
;//返回容器中最後乙個資料元素
#include
#include
using
namespace std;
//vector資料訪問
void
test01()
//利用【】方式訪問陣列元素
for(
int i =
0; i < v1.
size()
; i++
) cout << endl;
//利用at方式訪問元素
for(
int i =
0; i < v1.
size()
; i++
) cout << endl;
//獲取第乙個元素
cout <<
"第乙個元素為:"
<< v1.
front()
<< endl;
//獲取最後乙個元素
cout <<
"最後乙個元素為:"
<< v1.
back()
<< endl;
}int
main()
總結:
除了用迭代器獲取vector容器中元素,【】和at也可以
front返回容器第乙個元素
back返回容器最後乙個元素
功能描述:
實現兩個容器內元素進行互換
函式原型:
swap(vec); //將vec與本身的元素互換
#include
#include
using
namespace std;
void
printvector
(vector<
int>
&v) cout << endl;
}//1.基本使用
void
test01()
cout <<
"交換前:"
<< endl;
printvector
(v1)
; vector<
int>v2;
for(
int i =
10; i >
0; i--
)printvector
(v2)
; cout <<
"交換後:"
<< endl;
v1.swap
(v2)
;printvector
(v1)
;printvector
(v2);}
//2.實際用途
//巧用swap可以收縮記憶體空間
void
test02()
cout <<
"v的容量為:"
<< v.
capacity()
<< endl;
cout <<
"v的大小為:"
<< v.
size()
<< endl;
v.resize(3
);//重新指定大小
cout <<
"v的容量為:"
<< v.
capacity()
<< endl;
cout <<
"v的大小為:"
<< v.
size()
<< endl;
//巧用swap收縮記憶體
vector<
int>
(v).
swap
(v);
cout <<
"v的容量為:"
<< v.
capacity()
<< endl;
cout <<
"v的大小為:"
<< v.
size()
<< endl;
}int
main()
總結:swap可以使兩個容器互換,可以達到使用的收縮記憶體效果
功能描述:
減少vector在動態擴充套件容量時的擴充套件次數
函式原型:
reserve
(int len)
;//容器預留len個長度,預留位置不初始化,元素不可訪問。
#include
#include
using
namespace std;
//vector預留空間
void
test01()
} cout <<
"num="
<< num << endl;
}int
main()
總結:如果資料量較大,可以一開始利用reserver預留空間 C STL vector容器 簡單實用整理
1.1 介紹 vector 是c 中stl庫里的乙個容器,實質就是乙個長度未定的陣列,而且他還有一些常用操作 封裝 在了vector型別內部。1.2 舉例說明 vector是乙個模板類,所以需要用vector int a或者vector double b來宣告乙個vector,並且要引用 inclu...
容器容量和容器大小(capacity和size)
1 容器容量 容器所能容納元素的個數,通常大於容器的實際儲存元素的個數。s.capacity 檢視容器容量 s.reserve len 擴充套件當前容器的容量,如果len大於當前容器容量,那麼將會將容器的容量擴充套件為len,且不會對新擴充套件的空間進行初始化 當len小於等於當前容器容量時,什麼也...
C vector容器 容量和大小
vector容量和大小 功能描述 對vector容器的容量和大小操作 函式原型 如下 include using namespace std include vector容器的容量和大小操作 void printvector vector int v cout endl void test01 pr...