C++里vector::erase函数
来源:互联网 发布:华为大数据研发岗累吗 编辑:程序博客网 时间:2024/06/01 08:24
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素
vector::erase()方法有两种重载形式
如下:
iterator erase( iterator _Where);
iterator erase( iterator _First, iterator _Last);
如果是删除指定位置的元素时:
返回值是一个迭代器,指向删除元素下一个元素;
如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素;
例子:
#include <iostream>
#include <vector>
using
namespace
std;
int
main(
void
)
{
vector<
int
>array;
array.push_back(100);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(300);
array.push_back(500);
vector<
int
>::iterator itor;
for
(itor=array.begin();itor!=array.end();itor++)
{
if
(*itor==300)
{
itor=array.erase(itor);
}
}
for
(itor=array.begin();itor!=array.end();itor++)
{
cout<<*itor<<
""
;
}
return
0;
}
输出结果: 100 300 300 500
在本题中,当 *itor==300成立时,删除第一个值为300的元素,同时itor指向下一个元素(即是第二个值为300的元素),
在for(;;itor++)执行itor,itor指向第三个值为300的元素,进入下一个循环
进入循环满足*itor==300,重复上面的过程,执行完循环,itor执行值为500的元素。
所有整个过程中,只删除了2个值为300的元素。
阅读全文
1 0
- C++里vector::erase函数
- C++primer学习-vector中的erase函数
- vector中erase函数
- vector的erase函数
- 麻烦的vector.erase 函数
- vector::erase函数的注意事项
- vector的erase()函数分析
- vector和map的erase()函数
- STL vector 的 erase(); 函数漏洞?
- vector和map的erase()函数
- std::vector中erase函数的用法
- vector::erase()函数调用出错问题
- hackerrank>Dashboard>C++>STL>Vector-Erase
- 【C++】vector容器和list容器中使用单个迭代器的erase函数学习笔记
- erase vector
- vector erase
- vector erase
- vector erase
- DSP TMS320C6000学习笔记
- 如何用自己的电脑作为服务器搭一个网站
- C++ vector拷贝使用总结
- Delphi计算器控制台版(含括号)
- Android7.0上PopupWindow的showAsDropDown位置问题
- C++里vector::erase函数
- JDBC连接数据库学习心得
- sklearn-例程--Plotting Cross-Validated Predictions
- redhat6.3安装Keepalived+LVS
- LeetCode之路:237. Delete Node in a Linked List
- java多线程总结(3)
- 马踏棋盘问题
- qt中的connect函数
- JS笔试面试题(后续更新)