表結構的數組實現
隨機訪問
快速尾插
動態調整所占內存空間
#include<vector>
從0開始計數
創建vector對象的三種方法:
1. vector<int> v;
2. vector<int> v(10); //默認值為0
3. vecotr<double> v(10,8.6); //為每個元素指定初始值
尾插:
v.push_back(2);?
下標方式訪問:
v[3]=5;
迭代器訪問:
vector<int>::iterator it;
for (it = v.begin(); it != v.end(); ++it)cout << *it << " ";
元素的插入
insert(迭代器位置, 元素值);
v.insert(v.begin(), 8);
v.insert(v.begin(), 1);
v.insert(v.end(), 3);
元素的刪除
erase() ?刪除一個,或一段區間的元素
clear() ?刪除全部元素
v.erase(v.begin()+3);
v.erase(v.begin()+2, v.begin()+4);
v.clear();
reverse反向排列算法
#include<algorithm>
reverse(v.begin(), v.end());
reverse(v.begin()+3, v.begin()+6);
sort升序排序
sort(v.begin(), v.end());
sort(v.begin(), v.end(), Comp); //Comp函數是用戶自己設計的比較方法
bool Comp(const int &a, const int &b)
{//降序排序if ( a != b) return a>b;elsereturn a>b;}