使用STL的vector容器類

2021-07-10 22:25:23 字數 2407 閱讀 4886

範例程式:

#include #include #include #include #include using namespace std;

int main()

; char b[size] = ;

//定義vector物件

vectorvf(a, a + size);

vectorvc(b, b + size);

sizef = vf.size();

sizec = vc.size();

//定義ostream物件

ostream_iteratorintout(cout, " ");

ostream_iteratorcharout(cout, " ");

cout << showpoint << setprecision(4);

cout << "\n---------------測試vector---------------" << endl;

cout << "\nvf為:" << endl;

//vector物件輸出

for (i = 0; i < sizef;i++)

//設定特定元素

vf.at(2) = 9.9;

cout << endl;

cout << "在執行設定1之後,vf變為:" << endl;

//vector物件輸出

copy(vf.begin(), vf.end(), intout);

cout << endl;

vf[3] = 2.8;

cout << "在執行設定2之後,vf變為:" << endl;

copy(vf.begin(), vf.end(), intout);

cout << endl;

//插入額外的元素

vf.insert(vf.begin() + 3, 1.2);

cout << "在執行完插入元素後,vf變為:" << endl;

copy(vf.begin(), vf.end(), intout);

cout << endl;

//將物件中的元素依大小順序排序

sort(vf.begin(), vf.end());

cout << "排序後vf變為:" << endl;

copy(vf.begin(), vf.end(), intout);

cout << endl;

//重排

random_shuffle(vf.begin(), vf.end());

cout << "重排後vf變為:" << endl;

//物件輸出

copy(vf.begin(), vf.end(),intout);

cout << endl;

cout << "\n---------------測試vector---------------" << endl;

cout << "\nvc為:" << endl;

//vector物件的輸出

for (i = 0; i < sizec;i++)

cout << endl;

//改變特定元素的值

vc.at(2) = 'h';

cout << "在執行設定1之後,vc變為:" << endl;

copy(vc.begin(), vc.end(), charout);

cout << endl;

vc[3] = 'g';

cout << "在執行設定2之後,vc變為:" << endl;

copy(vc.begin(), vc.end(), charout);

cout << endl;

//插入元素

vc.insert(vc.begin() + 3, 'p');

cout << "在執行完插入元素後,vc變為:" << endl;

copy(vc.begin(), vc.end(), charout);

cout << endl;

//輸出

sort(vc.begin(), vc.end());

cout << "排序後vf變為:" << endl;

copy(vc.begin(), vc.end(), charout);

cout << endl;

//重排

random_shuffle(vc.begin(), vc.end());

cout << "重排後vc變為:" << endl;

copy(vc.begin(), vc.end(), charout);

cout << endl;

return 0;

}

程式執行結果:

教你使用STL容器之vector

c 語言本身提供了乙個序列式容器array,stl另外再提供vector list deque stack queue priority queue等序列式容器。vector的資料安排以及操作方式,與array是很相似的,唯一的不同點在於空間的運用的靈活性,array是靜態的,一旦配置了就不能再改變...

STL順序容器 vector

vector是乙個線性順序結構。相當於陣列,但其大小可以不預先指定,並且自動擴 展。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態數 組。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料 儲存,初始的空間大小可以預先指定也可以由vector 預...

STL序列容器 vector

二 vector vector容器是包含 t 型別元素的序列容器,和 array容器相似,不同的是 vector容器的大小可以自動增長,從而可以包含任意數量的元素 因此型別引數 t 不再需要模板引數 n。只要元素個數超出 vector 當前容量,就會自動分配更多的空間。只能在容器尾部高效地刪除或新增...