
vector
vector 称为向量,是一种类模板,其声明包含在头文件< vector>中,所以使用veto 时需要包含头文件< vector> 。
vector是一种支持高效地随机访问和高效地向尾部插入新元素的容器,它一般实现为一 个动态分配的数组,所以在程序开发过程中,使用vector作为动态数组是非常方便的
类 似于数组, vector分配连续的存储空间存储数据,个相邻数据在存储空间上是相邻的。所 以, vector可以像数组一样实现随机访问。
与数组不同的是, vector具有自动扩展容器大小 的功能,当 vector对象的存储空间不够时, vector对象会动使用new运算符申请一块更 大的内存空间,使用赋值运算符将原有的数据复制到新存储空间,并释放原有存储空间。在 具体实现内存空间的扩展时,扩展的内存空间一般会大于所需的内存空间。
另外,当删除 vector对象中的一个元素时,多出的闲置存储空间并不会马上被释放。因此, vector容器对 象已分配的空间所能容纳的元素个数(称为容量, Capacity)):通常会大于容器中实际存储的 元素个数(称为大小,Size)。
*** vector中的元素在内存空间上是相邻的***。当在某个位置插入或删除一个元素时,从这 个位置开始的、其后的所有元素都需要向后或向前移动一个位置。显然,这个位置越靠前, 需要移动的元素就越多,移动元素所花费的时间就越长,这种插入或删除操作的效率就越 低。在尾部添加或删除元素的时间是常数时间,但在头部插入或删除元素时是线性时间复 杂度。
因此, vector比较适合于存储相对固定、更新次数少的数据,或者只在尾部添加或者 删除元素。
## 1.声明vector对象
使用vector声明对象时需要为对象指定数据类型,用具体类型实例化模版类,然后实例化外对象,例如:

本文详细介绍了C++标准库中的vector容器,包括其特性、动态扩展机制、高效访问和尾部插入操作。vector类似数组,但能自动扩展,适用于存储固定、更新少的数据或在尾部增删元素。文中还展示了如何声明vector对象并列举了关键成员函数如capacity()、resize()等。
最低0.47元/天 解锁文章
3140

被折叠的 条评论
为什么被折叠?



