vector:表示可以改变大小的数组的序列容器,即:动态数组。
可以使用连续的存储位置保存数据,可以像使用数组一样,使用下标访问元素。与数组不同,它们的大小可以动态变化。使用前,需引入头文件:#includevector
案例01:vector的声明与初始化
有多种方式可以实现vector容器的初始化,关键词vector后面跟一对尖括号,里面书写数据类型的关键词,表示定义的容器存储什么类型的数据,然后是变量名;
可以申请一个空容器(参考代码第7行),也可以设定容器的初始空间大小(代码第10行),还可以给初设的空间里统一设置初始值(代码第13行):表示初始申请10个大小的格子,每个格子里存放数字2。
案例02:基本应用
动态数组vector,可以像使用普通数组一样操作;它也可以通过一些定义好的函数来操作。下面列出了动态数组操作中的一些常用函数:
size():获取动态数组的实际大小;
push_back():向向量尾部增加一个元素(推入)
pop_back():删除向量尾部的元素(弹出)
clear():清空向量中的所有元素
以下案例:初始化了一个5个长度的容器,然后通过push_back(),向其尾部由添加了两个整数,容器的实际空间大小变为了7。
后面由通过pop_back(),删除了尾部一个元素,空间大小又缩小为6。
通过这个案例,体验vector容器大小的自动伸缩的变化过程,同时学习常用函数的一般应用。
案例03:数组元素排序
如何对vector容器中的元素进行排序呢?这里两个系统函数:
sort():排序,升序
reverse():排序,降序——需引入头文件:#includealgorithm
在使用这两个函数的时候,需要传入排序数组的起始位置和结束位置,可以通过容器vector的begin()、end()函数来获取。
begin():获取向量头指针,也是数组的首地址
end():获取向量尾指针,也就是数组的尾地址
案例中,定义了一个10空间大小的整型容器,通过随机产生了10个以内的随机数;然后对其进行了由小到大的排序——sort(),再对其进行由大到小排序——reverse()。