vector -1

vector的特色有支持随机存取,在集合尾端增删元素很快,但是在集合中间增删元素比较费时。

vector以模板(泛型)方式实现,可以保存任意类型的变数,包括使用者自定义的资料型态,例如:它可以是放置整数(int)型态的 vector、也可以是放置字串(string)型态的 vector、或者放置使用者自定类别(user-defined class)的 vector。

常用函数

push_back          在数组的最后添加一个数据
pop_back           去掉数组的最后一个数据
begin              得到数组头的指针
end                得到数组的最后一个单元+1的指针
front              得到数组头的引用
size            当前使用数据的大小
resize          改变当前使用数据的大小,如果它比当前使用的大,则填充默认值
erase          删除指针指向的数据项
clear           清空当前的vector
empty         判断vector是否为空
swap          与另一个vector交换数据

C++ vector可以使用以下任意一种参数方式构造:
1. 无参数 - 构造一个空的vector
2. 数量(num)和值(val) - 构造一个初始放入num个值为val的元素的Vector
3. vector(from) - 构造一个与vector from 相同的vector
4. 迭代器(start)和迭代器(end) - 构造一个初始值为[start,end)区间元素的Vector(注:半开区间).

实现2维数组:

如果一个向量的每一个元素是一个向量,则称为二维向量,例如

vector<vector<int> >vv(3, vector<int>(4));        //这里,两个“>”间的空格是不可少的

vector<vector<int> >vv(3, vector<int>(4,0));        //vv[3][4],初始化为0

注:

一个二维向量每个元素的长度可以不同

C++ vector能够使用标准运算符: ==, !=, <=, >=, <, 和 >. 要访问vector中的某特定位置的元素可以使用 [] 操作符.
两个vector被认为是相等的,如果:
它们具有相同的容量
所有相同位置的元素相等.
vectors之间大小的比较是按照词典规则.

 

上一篇:win8自动升级win8.1后 wampserver无法启动


下一篇:CAD二次开发之鼠标事件捕捉绑定