简介:
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。
文件包含:
#include<vector>
using namespace std;
vector声明及初始化
vector<T> c; 创建一个类型为T空的vector
vector<T> c1(c2); 创建一个vector c1,并用c2去初始化c1
vector<T> c(n) ; 创建一个含有n个T类型数据的vector;
vector<T> c(n,elem); 创建一个含有n个T类型数据的vector,并全部初始化为elem;
vector容器中常用的函数:
假设,c为一个容器对象
函数 | 作用 |
---|---|
c.push_back(elem); | 在容器最后位置添加一个元素elem |
c.pop_back(); | 删除容器最后位置处的元素 |
c.at(index); | 返回指定index位置处的元素 |
c.begin(); | 返回指向容器最开始位置数据的指针 |
c.end(); | 返回指向容器最后一个数据单元的指针+1 |
c.front(); | 返回容器最开始单元数据的引用 |
c.back(); | 返回容器最后一个数据的引用 |
c.max_size(); | 返回容器的最大容量 |
c.size(); | 返回当前容器中实际存放元素的个数 |
c.capacity(); | 同c.size() |
c.resize(); | 重新设置vector的容量 |
c.reserve(); | 同c.resize() |
c.erase(p); | 删除指针p指向位置的数据,返回下指向下一个数据位置的指针(迭代器) |
c.erase(begin,end) | 删除begin,end区间的数据,返回指向下一个数据位置的指针(迭代器) |
c.clear(); | 清除所有数据 |
c.rbegin(); | 将vector反转后的开始指针返回(其实就是原来的end-1) |
c.rend(); | 将vector反转后的结束指针返回(其实就是原来的begin-1) |
c.empty(); | 判断容器是否为空,若为空返回true,否则返回false |
c1.swap(c2); | 交换两个容器中的数据 |
c.insert(p,elem); | 在指针p指向的位置插入数据elem,返回指向elem位置的指针 |
c.insert(p,n,elem); | 在位置p插入n个elem数据,无返回值 |
c.insert(p,begin,end) | 在位置p插入在区间[begin,end)的数据,无返回值 |