範例程式:
#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 當前容量,就會自動分配更多的空間。只能在容器尾部高效地刪除或新增...