vector是一种有序集和。
Vector支持随机访问,在末端操作效力更好,前段中段安插或删除元素,效率会低。
1.关于大小的函数
vector<int> v;
v.size(); //元素数量
v.empty();//是否为空
2.构造
vector<int> v(count,value);
vector<int> v(count);
构造拥有 count 个有值 value 的元素的容器。
构造拥有个 count 默认插入的 T 实例的容器。不进行复制
3.==运算符
vector<int> v1;
vector<int> v2;
v1==v2//返回v1是否等于v2 (对每个元素调用==)
4.赋值
v = v1;//将v1的所有元素给v
v = {1,2,3,4} //初始列表赋值
v.assign(n,6);//赋值n个6
list<int>l;
...
v.assign(l.begin(),l.end());//将区间你饿的元素赋值给v
5.置换
v1.swap(v2);
swap(v1,v2); //置换v1和v2的数据
6.访问
v[5];
v.at(5); //返回索引所指的元素
v.front() //返回第一元素(不检查是否存在)
v.back() //返回最末元素(不检查是否存在)
7.添加和删除
v.push_back(elem);//将elem添加于末尾
v.pop_back();//移除最后一个元素,但不返回它
v.insert(pos,elem); // 在pos之前添加,返回新元素的位置
v.insert(pos,beg,end)
v.insert(pos,n,elem); //在pos前添加n个elem,并返回第一个新元素的位置
v.erase(pos); // 移除位置pos上的元素,并返回下一元素的位置
v.clear() //清空
8.重要应用----邻接表的实现
struct Node {
int v; //边的终点编号
int w; //边权
};
vector<Node> Adj[N];
9.星星**** 用sort排序
sort(vector.begin(),vector.end());