runxinzhi.com
首页
百度搜索
STL中用erase()方法遍历删除元素
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。
在 使用 list、set 或 map遍历删除某些元素时可以这样使用:
正确使用方法1
std::list< int> List;
std::list< int>::iterator itList;
for( itList = List.begin(); itList != List.end(); )
{
if( WillDelete( *itList) )
{
itList = List.erase( itList);
}
else
itList++;
}
在使用 vector、deque遍历删除元素时,也可以通过erase的返回值来获取下一个元素的位置:
正确使用方法
std::vector< int> Vec;
std::vector< int>::iterator itVec;
for( itVec = Vec.begin(); itVec != Vec.end(); )
{
if( WillDelete( *itVec) )
{
itVec = Vec.erase( itVec);
}
else
itList++;
}
相关阅读:
Leetcode题目94.二叉树的中序遍历(中等)
Leetcode题目79.单词搜索(回溯+DFS-中等)
Leetcode题目78.子集(回溯-中等)
Leetcode题目75.颜色分类(双指针-中等)
Leetcode题目70.爬楼梯(动态规划+递归-简单)
Leetcode题目64.最小路径和(动态规划-中等)
Android 学习笔记之切换主题
Android学习笔记:摇一摇功能的实现
百思不得姐demo,只写了视频,图片,和段子,需要的童鞋进
自己写的音乐播放器Demo开源给需要学习的人,大家编程路上一直进步,
原文地址:https://www.cnblogs.com/tuzhiye/p/1688326.html
最新文章
怎么加密接口防止,API外部调用?
mysql常见安全加固策略
机器学习之决策树原理和sklearn实践
机器学习之模型评估
机器学习之数据预处理
机器学习之数据分析
通俗易懂地理解并发和并行的区别
Java基于redis实现分布式锁(SpringBoot)
Java8使用Stream优雅地处理集合
别再写getter,setter方法了,用Lombok来简化你的代码吧
热门文章
还在用SimpleDateFormat?Java8都发布N年了,转LocalDateTime吧
【快学springboot】使用springboot发送邮件
浏览器同源策略和跨域请求
【快学springboot】在springboot中写单元测试
「快学springboot」16.让swagger帮忙写接口文档
【快学SpringBoot】过滤XSS脚本攻击(包括json格式)
Leetcode题目102.二叉树的层次遍历(队列-中等)
Leetcode题目101.对称二叉树(简单)
Leetcode题目98.验证二叉搜索树(递归-中等)
Leetcode题目96.不同的二叉搜索树(动态规划-中等)
Copyright © 2020-2023
润新知