关于C++向量使用的一些总结

删除元素

一般情况下,使用向量就是因为删除元素很方便,但是最近出了很多错误。关于删除元素,做一下总结吧~

删除单个元素

vector<int> a;
a.erase(a.begin()+2);

这是删除第三个元素!
若是想删除下标为i的元素,位置要填vec.begin()+i+1!!!
(这个错好几次了)

删除一段区间的元素

vector<int> a;
a.erase(a.begin()+i,a.begin()+j);

这是删除区间[i,j-1]的元素!!!

比如想删除i-j的元素
括号里需要写vec.begin()+i, vec.begin()+j+1

向量的清空

若有多组测试数据,一定记得每次操作后,对向量进行清空!!!
具体操作:

vec.clear();

begin,end,front,back的区别

begin()和end()返回类型是迭代器
begin()返回第一个元素的迭代器,end()返回最后一个元素之后的迭代器

因此:

vector<int> a;
a.erase(a,begin());//这是删除第一个元素
a.erase(a.end()-1);//这是删除最后一个元素

front()和back()返回的是向量元素的引用

vector<int> a;
cout<<a.front();
cout<<back();
//这是分别输出向量的第一个元素和最后一个元素

在我的理解里,begin和end是一个地址,而front和back是一个数值

关于STL的一些理解

STL (Standard Template Library) 标准模板库
STL将数据结构和算法进行了分离,因为STL分为三大类:容器,迭代器(类似于指针)和算法,容器和算法通过迭代器相互连接,这使得STL得到广泛的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值