vector
-
概念
向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。
-
使用
引入头文件
#include<vector>
-
构造
vector<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列
-
增加
void push_back() // 向量尾部增加一个元素 iterator insert(iterator it,const T& x) //向量中迭代器指向元素前增加一个元素x
-
删除
iterator erase(iterator it) // 删除向量中迭代器指向元素 iterator erase(iterator first,iterator last) // 删除向量中[first,last)中元素 void pop_back() // 删除向量中最后一个元素 iterator erase(iterator first,iterator last) // 删除向量中[first,last)中元素
-
访问
a[i] // 类似数组的访问
-
其他
bool empty() const // 判断向量是否为空,若为空,则向量中无元素 int size() const // 返回向量中元素的个数 void assign(int n,const T& x) // 设置向量中第n个元素的值为x
-
sort
函数模板 sort() 的类型参数 Iter 是元素段元素对应的迭代器类型,而且它们必须支持随机访问迭代器。这表明 sort() 算法只能对提供随机访问迭代器的容器中的元素进行排序,也说明 sort() 只能接受 array、vector、deque 或标准数组中的元素。
-
使用
引入头文件
#include <algorithm>
sort(ben, end) // 把迭代器中,[ben,end]内的元素升序排列 // 如果想降序排列,可以给sort设置第三个参数(一个返回bool的比较函数) // 当然,也可以直接使用reverse()对排序后的进行反转