C++ vector类的用法整理

1. 头文件

#include <vector>
using namespace std;

2. 定义与初始化

vector <Elem>  vec     // 创建一个空的vector
vector <Elem> vec(vec1)     // 复制一个vector
vector <Elem> vec(n)     // 创建一个vector,含有n个数据,数据均已缺省构造产生
vector <Elem> vec(n, elem)     // 创建一个含有n个elem拷贝的vector
vector <Elem> vec(beg,end)     // 创建一个含有n个elem拷贝的vector
c.~ vector <Elem>()     // 销毁所有数据,释放内存

3. 基本成员函数

vec.at(idx)     // 返回索引idx所指的数据,如果idx越界,抛出out_of_range
vec.begin()     // 返回指向容器第一个元素的迭代器,得到迭代器第一个单元的指针
vec.end()     // 返回指向容器最后一个元素的迭代器,得到迭代器最后一个单元+1的指针
vec.front()     // 返回第一个元素element
vec.back()     // 返回最后一个元素element
vec.size()     // 传回容器中实际数据的个数
vec.resize()     // 重新设置该容器的大小
vec.clear()     // 清除所有数据
vec.empty()     // 判断容器是否为空
vec.assign(beg,end)     // 将[beg; end)区间中的数据赋值给vec。
vec.assign(n,elem)     // 将n个elem的拷贝赋值给vec。
vec.push_back(element)     // 在尾部加入一个数据
vec.pop_back()     // 删除最后一个元素数据
vec.insert(pos,elem)     // 在pos位置插入一个elem拷贝,传回新数据位置
vec.insert(pos,n,elem)     // 在pos位置插入n个elem数据。无返回值
vec.insert(pos,beg,end)     // 在pos位置插入在[beg,end)区间的数据。无返回值
vec.erase(pos)     // 删除pos位置的数据
vec.erase(beg, end)     // 删除[beg, end)区间的数据

4. 迭代器

vector<int>::iterator

 

上一篇:倒数第二


下一篇:第十七天剑指 Offer 54. 二叉搜索树的第k大节点