表结构的数组实现
随机访问
快速尾插
动态调整所占内存空间
#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;}