vector容器简析

vector代表向量的意思,是一种顺序容器,一般情况下都是视为数组那样操作,但是和c/cpp数组不一样的地方就在于,c/cpp中数组需要预先分配大小,而vector数组和python中类似,是柔性数组,需要的时候就能分配相应大小,无序预先分配。

如果所需空间超过当前vector申请的空间,vector会重新分配一个更大的空间,然后把现有的数据拷贝过去,再对原内存空间的对象执行析构,最后释放掉原内存空间。

初始化vector对象

vector<T>v1; 默认初始化方式,内容为空 T代表数据类型

vector<T>v2(v1);调用拷贝构造函数,v2是v1的一个拷贝

vector<T>v3(n,i);初始化n个元素 值为i,如果i缺省则是为0

vector<T>v4{1,2,3};这种新建方法在std=c++11以上可以使用,新建一个值为1,2,3的数组。

vector(begin,end); 复制 [begin,end) 区间内另一个数组的元素到 vector 中

vector常用函数

判断函数

empty():判断向量是否为空,为空返回真,否则为假

int capacity() const: 返回当前向量张红所能容纳的最大元素值

int max_size() const: 返回最大可允许的 vector 元素数量值

增加函数

push_back(数据):将数据插入到向量的尾部

iterator insert(iterator it,const T& x): 向量中迭代器指向元素前增加一个元素 x

iterator insert(iterator it,int n,const T& x): 向量中迭代器指向元素前增加 n 个相同的元素 x

iterator insert(iterator it,const_iterator first,const_iterator last): 向量中迭代器指向元素前插入另一个相同类型向量的 [first,last) 间的数据

删除函数

pop_back():删除向量尾部的数据

clear():清空向量

iterator erase(iterator it): 删除向量中迭代器指向元素

iterator erase(iterator first,iterator last): 删除向量中 [first,last) 中元素

遍历函数

iterator begin():返回向量(数组)的首元素地址给迭代器

iterator end(): 返回向量(数组)的末元素的下一个元素的地址给迭代器

front():返回得到向量的第一个元素的数据

back():返回得到向量的最后一个元素的数据

size():返回得到向量中元素的个数(如果要对应下标需要减1)

reverse_iterator rbegin(): 反向迭代器,指向最后一个元素

reverse_iterator rend(): 反向迭代器,指向第一个元素之前的位置

其他函数

swap(vector&): 交换两个同类型向量的数据

assign(int n,const T& x): 设置向量中第 n 个元素的值为 x

assign(const_iterator first,const_iterator last): 向量中 [first,last) 中元素设置成当前向量元素

遍历方式

1.传统遍历方式 通过下标访问,和数组区别不大。

2.使用迭代器访问。

3.使用智能变量遍历:for(auto it:nums)

posted @   人活着就是为了coding  阅读(207)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
点击右上角即可分享
微信分享提示