vector
概念
向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
使用
引入头文件
#include<vector>
构造
1
2
3
4
5
6
7vector<int>a; // 构造一个空的vector
vector(int nSize) // 创建一个vector,元素个数为nSize
vector(int nSize,const t& t) // 创建一个vector,元素个数为nSize,且值均为t
// 二维数组的定义
int N=5, M=6;
vector<vector<int> > obj(N, vector<int>(M)); //定义二维动态数组5行6列增加
1
2void push_back() // 向量尾部增加一个元素
iterator insert(iterator it,const T& x) //向量中迭代器指向元素前增加一个元素x删除
1
2
3
4iterator erase(iterator it) // 删除向量中迭代器指向元素
iterator erase(iterator first,iterator last) // 删除向量中[first,last)中元素
void pop_back() // 删除向量中最后一个元素
iterator erase(iterator first,iterator last) // 删除向量中[first,last)中元素访问
1
a[i] // 类似数组的访问
其他
1
2
3bool empty() const // 判断向量是否为空,若为空,则向量中无元素
int size() const // 返回向量中元素的个数
void assign(int n,const T& x) // 设置向量中第n个元素的值为x
sort
函数模板 sort
使用
引入头文件
#include <algorithm>
1
2
3sort(ben, end) // 把迭代器中,[ben,end]内的元素升序排列
// 如果想降序排列,可以给sort设置第三个参数(一个返回bool的比较函数)
// 当然,也可以直接使用reverse()对排序后的进行反转