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之间大小的比较是按照词典规则.
时间: 2024-09-29 07:26:22