C++ vector

本文介绍了C++中vector容器的基本概念,包括如何声明、初始化及使用vector。探讨了vector的存储特性,如动态增长机制,并详细解释了vector的两种遍历方式——索引访问和迭代器访问。此外,还对比了push_back()与insert()这两种插入元素的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vector是顺序容器,容器内的元素占据连续的内存单元,容器大小随着元素的增加而动态增大,但是不会因为删除元素而减小存储空间。

声明一个容器的同时要指定类型:

vector<<b> int> container;

这里的int可以替换成任意一个系统定义的类型或者自定义的类或结构。

容器(vector, set其他的没用过)一般支持两种遍历方式:类似数组的索引访问和迭代器访问。
迭代器的功能和用法很像指针,但是声明的时候略有不同:

vector::iterator iter;

值得注意的是容器的存储空间是动态增长的,所以一个迭代器有可能在操作(插入元素)的过程中就失效了。为了防止访问到无效的地址,迭代器一般都是即时询问的。
比如说判断是否找完了vector中所有元素了,要和container.end()做比较,最好不要一开始保存一个尾指针来比较。

在vector新增元素有两种操作:push_back()和insert()
push_back()顾名思义即在最后插入新元素。
与之对应的删除操作时pop_back()
鉴于vector是顺序容器,insert()的效率很低一般不用?
以防万一还是援引下用法吧。
C++ <wbr>vector


先挖坑。。慢慢填。。。
            sort(v[i].begin(), v[i].end());
            vector::iterator iter = unique(v[i].begin(), v[i].end());
            v[i].erase(iter, v[i].end());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值