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