map中的迭代删除操作注意问题
如果map中包含若干个key为10的倍数,要删除key为10的倍数。
错误形式
#include <iostream>
#include <map>
#include <iterator>using namespace std;int main()
{map<int, int> m;for (int i = 0; i < 10; i++){m.insert(pair<int, int>(10 * i, i));}for (map<int, int>::iterator it = m.begin(); it != m.end(); it++){if (it->first % 10 == 0){m.erase(it); it--;}}return 0;
}
正确形式应该为
#include <iostream>
#include <map>
#include <iterator>using namespace std;int main()
{map<int, int> m;for (int i = 0; i < 10; i++){m.insert(pair<int, int>(10 * i, i));}for (map<int, int>::iterator it = m.begin(); it != m.end(); ){if (it->first % 10 == 0){m.erase(it++);}else it++;}return 0;
}
因为map是用红黑树结构来做的,当删除操作时,红黑树的结构会调整
map中的迭代删除操作注意问题相关推荐
- ArrayList中元素的删除操作
ArrayList中元素的删除操作 在聊 ArrayList 的删除删除操作之前,先来说说它的遍历方法. 一个 list 的遍历方法主要有三种: Iterator 迭代器遍历 遍历下标 for 循环遍 ...
- elementui在table中使用el-popover删除操作
elementui在table中使用el-popover删除操作 .vue <el-table-column label="操作" width="120" ...
- python中列表的删除操作
增加: ceshi = ['a','b','c','d','e','f']ceshi.append('g') print(ceshi) #['a','b','c','d','e','f','g'],是 ...
- 【Python中字典的删除操作-del和clear】
快速理解 del和clear的区别 dict0={'key1': 1, 'key2': 2} del dict0['key1'],表示删除键为key1的键值对: del dict0表示删除整个字典,删 ...
- 汇总pandas中dataframe的删除操作
文章目录 数据集 去重 删除某行或某列 删除某行 删除某列 去空 数据集 去重 df.drop_duplicates(["height","weight"])# ...
- java中map删除指定元素_Map中根据条件删除元素
今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map processM ...
- Dart语言基础Map、List、Set操作合辑
题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 Flutter完全采用 ...
- java map移除_Java根据条件删除Map中元素
今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map processM ...
- 在ASP.net 中对GridView中数据的删除、编辑等操作:
一.进行删除操作 1首先在vs里面新建一个网站,添加GridView 工具,在GridView1的属性里面把AutoGenerateDeleteButton的属性该为true, 2然后再给GridVi ...
最新文章
- mysql删除原则_MySQL数据库的增删选查
- AC自动机-洛谷3121 [USACO15FEB]审查(黄金)Censoring (Gold)
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget(转)
- 案例4-1.6 树种统计 (25 分)_18行代码AC
- PIT,JUnit 5和Gradle –仅需额外的一行配置
- Oracle碎碎念~2
- java nio 连接数_Java NIO 基础一 NIO概念
- Windows7快捷键大全
- Python 爬虫 (三) - Socket 网络编程
- [转] 基于C#的波形显示控件的实现
- 洛谷 1315 观光公交——贪心
- android系统证书管理,抓包Android 7.0+将ca证书导入到系统(设置为系统证书)
- 安居客 Android 项目架构演进
- 【机器学习】 - 决策树(西瓜数据集)
- 服务评价器连接计算机后无法启动,四键评价器服务端+客户端(附驱动)
- js 数组entries迭代方法
- Tableau豆瓣电影数据项目实战练习2
- nacos和eruka的区别
- iOS10新特性及开发者要注意什么
- 蓝桥杯矩形切割python求解
热门文章
- modelsim do文件仿真
- php 两次post,ajax跨域往php程序post数据时,php程序总是执行两次的解决办法
- python编程可以做什么工作-Python学到什么程度才可以去找工作?掌握这4点足够了!...
- python数据类型-第三篇:Python基本数据类型
- 如何用python画数据图-用Python绘制地理图
- python 代码-你见过哪些令你瞠目结舌的 Python 代码技巧?
- python打开-Python中的打开文件对话框(转)
- 编程入门python语言是多大孩子学的-什么是少儿Python编程?这一篇就够啦!
- python教程第四版pdf下载-笨办法学python第四版
- python程序员工作怎样-12个Python程序员面试必备问题与答案(小结)