STL容器 -- Vector

核心:Vector 是 STL 里的一个向量容器,可以像数组那样进行随机访问,能在尾部插入元素,对于元素的删除和插入可以动态管理内存.

头文件: #include <vector>

构造函数:

vector<int>  v; //构造一个存储 int 型变量的 vector
vector<int>  v(n, value)  //构造一个初始含有 n 个 value 的 vector
vector<int> v1(v2) //构造一个vector v1拷贝 v2 内的值
vector<int> v(begin(), end())  //构造一个 vector 从迭代器[ begin(), end() ) 拷贝而来

常用函数:

v.at(pos)    //即 v[pos], 但是不会访问到越界元素
v.back()     //返回 v 最末尾元素的引用
v.front()     //返回 v 起始元素的引用
v.pop_back()  //删除当前 v 末尾的元素
v.push_back(value)   //添加 value 到 v 的末尾
vector<int> v(5, 42)  //则 v.front() = 0 v.back() = 4
v.begin()     //返回指向 v 起始元素的迭代器
v.end()   //返回指向 v 末尾元素下一个位置的迭代器, 访问最后一个元素,则需要自减1
v.clear()     //删除当前 v 内的所有元素
v.empty()    //判断 v 内是否有元素
v.erase(it)   //删除指定位置(迭代器) 元素的值
v.erase(st, ed) //删除区间(迭代器)[st, ed)内的所有元素
v.insert(it, value)   //在指定位置(迭代器)前插入一个元素 value
v.insert(it, n, value) //在指定位置(迭代器)前插入 n 个值为 value 的元素
v.insert(it, st, ed)   //在指定位置(迭代器)前插入迭代器[st, ed) 之间的元素
v.max_size()    //返回 v 可容纳元素的最大数值
v1.swap(v2)  //交换两个 vector

常用运算:

vector<int>  v1, v2;
v1 == v2    //具有相同的元素, 相同的容量
v1  != v2
v1 <= v2  //按照字典序比较
v1 >= v2
v1 < v2
v1 > v2
v[]            //访问某个特定的值

 

posted @ 2016-09-20 19:31  vrsashly  阅读(301)  评论(0编辑  收藏  举报