vector不定长数组
看书的时候第n次见到vector了,一时兴起:既然这么好用就掌握它吧。
看书看别人的博客发现原理并不复杂。并且!居然支持任意位置插入!!一直以来无限头疼的问题,唯有二叉查找树--平衡树能解决的艰难的问题居然被STL封装好了!
立刻把之前树状数组折腾了好久的题拿出来用vector做。
五分钟搞定!!!
一. 向量
向量是一种对象实体,能够容纳许多类型相同的元素,因此被称为容器。vector属于STL(标准模板库),广义上可以看成是数组的增强版。
二. 基本操作
#include
vector
vector
vector
vector
vector
a.size() //获取向量中的元素个数
a.empty() //判断向量是否为空
a.clear() //清空向量中的元素
a = b ; //将b向量复制到a向量中
a == b ; //a向量与b向量比较, 相等则返回1
a.insert(a.begin(), 1000); //将1000插入到向量a的起始位置前
a.insert(a.begin(), 3, 1000) ; //将1000分别插入到向量元素位置的0-2处(共3个元素)
vector
vector
b.insert(b.begin(), a.begin(), a.end()) ; //将a.begin(), a.end()之间的全部元素插入到b.begin()前
b.erase(b.begin()) ; //将起始位置的元素删除
b.erase(b.begin(), b.begin()+3) ; //将(b.begin(), b.begin()+3)之间的元素删除
b.swap(a) ; //a向量与b向量进行交换
转载于//www.cnblogs.com/hnoi/p/10999629.html
还没有评论,来说两句吧...