怎样在c++ 中删除vector最后一个元素

 我来答
一叹t
高能答主

2021-01-09 · 我们不创作,我们只是信息的搬运工。
一叹t
采纳数:2139 获赞数:11984

向TA提问 私信TA
展开全部

c++可以使用 vector 的成员函数 pop_back() 来删除容器尾部的元素。

vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。

vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

扩展资料:

vector的缺点:

1、时间开销较大,运行速度与数组相比较慢。

2、clear()无法清空内存。

注意:vector属于std命名域的,因此需要通过命名限定。

建议在代码量不大,并且使用的命名空间不多的情况下,使用全局的命名域方式:using namespace std函数。

vector常用方法:

1、c.assign(beg,end) c.assign(n,elem)将(beg; end)区间中的数据赋值给c。将n个elem的拷贝赋值给c。传回索引idx所指的数据,如果idx越界,抛出out_of_range。

2、c.back(),传回最后一个数据,不检查这个数据是否存在。

3、c.begin(),传回迭代器中的第一个数据地址。

4、c.capacity(),返回容器当前已分配的容量。

5、c.clear(),移除容器中所有数据。

6、c.empty(),判断容器是否为空。

c.end() //指向迭代器中末端元素的下一个,指向一个不存在元素。

c.erase(pos)// 删除pos位置的数据,传回下一个数据的位置。

c.erase(beg,end)

删除[beg,end)区间的数据,传回下一个数据的位置。

7、c.front(),传回第一个数据。

参考资料来源:百度百科-vector

Hachhiiii
2018-04-06 · TA获得超过1477个赞
知道答主
回答量:5
采纳率:83%
帮助的人:943
展开全部

C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法。

C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换。

代码:std::vector::erase()

函数原型:iterator erase (iterator position);  //删除指定元素

iterator erase (iterator first, iterator last);  //删除指定范围内的元素

返回值:指向删除元素(或范围)的下一个元素。An iterator pointing to the new location of the element that followed the last element erased by the function call. This is the container end if the operation erased the last element in the sequence。

positions.erase(positions.begin() + i)

注意删除之后vector大小已经变化, 循环控制条件要注意变化

c.pop_back

删除c的最后一个元素,返回void

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨烨杨叶
推荐于2018-02-27 · TA获得超过4252个赞
知道大有可为答主
回答量:4958
采纳率:33%
帮助的人:2472万
展开全部
c.pop_back()
删除c的最后一个元素,返回void.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲁步凝珍Qt
2014-12-09 · TA获得超过1396个赞
知道大有可为答主
回答量:1959
采纳率:50%
帮助的人:1277万
展开全部
用迭代器it指向这个元素,v.erase(it)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邪恶v小法师
2014-12-09 · 超过19用户采纳过TA的回答
知道答主
回答量:54
采纳率:0%
帮助的人:34.5万
展开全部
v.erase(v.end()-1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式