vector list map 遍历删除指定元素
#include <stdio.h>
#include <stdint.h>
#include <vector>
#include <list>
#include <map> template<typename T>
void Dump(const T &s)
{
for (T::const_iterator it = s.begin(); it != s.end(); ++it)
{
printf("%d ", *it);
}
printf("\n");
} void DelVector()
{
std::vector<int32_t> vec{ , , , , , , , , };
Dump(vec);
for (auto it = vec.begin(); it != vec.end();)
{
if (*it % == )
{
it = vec.erase(it);
}
else
{
++it;
}
}
Dump(vec);
} void DelList()
{
std::list<int32_t> ls{ , , , , , , , , };
Dump(ls);
for (auto it = ls.begin(); it != ls.end();)
{
if (*it % == )
{
it = ls.erase(it);
}
else
{
++it;
}
}
Dump(ls);
} void DelMap()
{
std::map<int32_t, int32_t> map{ { , }, { , }, { , }, { , }, { , }, { , }, { , }, { , }, { , } };
Dump(map);
for (auto it = map.begin(); it != map.end();)
{
if (it->first % == )
{
it = map.erase(it);
}
else
{
++it;
}
}
Dump(map);
} int32_t main()
{
DelVector();
DelList();
DelMap();
getchar();
return ;
}

vector list map 遍历删除指定元素的更多相关文章
- java集合遍历删除指定元素异常分析总结
在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又 ...
- vector删除指定元素
#pragma once #include "stdafx.h" #include<windows.h> #include <vector> #includ ...
- jquery数组删除指定元素的方法:grep()
jquery数组删除指定元素的方法:grep() 金刚 数组 jquery javascript 元素 遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组. 我定义的js数组是这样 ...
- List 循环删除 指定元素的 方法
使用Iterator进行循环,在删除指定元素.如果使用for 或 foreach 在删除指定下标是,list.size 会相应的缩短且下标前移,导致相邻满足条件的元素未删除 Iterator<S ...
- ES6数组中删除指定元素
知识点: ES6从数组中删除指定元素 findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. arr.splice(arr.findIndex(item => ...
- C++ vector 删除一个指定元素 和 find 一个指定元素以及遍历删除、 map遍历删除元素和删除find到的元素
vector: 1.delete element 转载:http://www.cnblogs.com/xudong-bupt/p/3522457.html #include <vector> ...
- es6删除指定元素
原数组: let arr =[{id:1},{id:2},{id:3},{id:8}] 待删除数据 obj = {id:1} 删除原数组指定元素 arr.splice(arr.findIndex(it ...
- STL——遍历 删除 set 元素
==================================声明================================== 本文版权归作者所有. 本文原创,转载必须在正文中显要地注明 ...
- C++ vector 和 map的删除
1.连续内存序列容器(vector,string,deque) 序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素. vector<in ...
随机推荐
- 由做网站操作日志想到的HttpModule应用
背景 在以前的Web项目中,记录用户操作日志,总是在方法里,加一行代码,记录此时用户操作类型与相关信息.该记录日志的方法对原来的业务操作侵入性较强,也比较零散,不便于查看和管理.那么有没有更加通用点的 ...
- windows技术
鼠标右键菜单中没有新建文本文件怎么办? http://jingyan.baidu.com/article/046a7b3e1d737bf9c27fa9f7.html
- iOS_自定义毛玻璃效果
http://www.2cto.com/kf/201408/329969.html 最终效果图: 关键代码: UIImage分类代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...
- 信号槽库:sigslot.h和sigc++使用
用qt的知道,qt有方便简单的信号槽机制,但需要专门的qt工具处理. 如果想直接使信号槽就可以使用sigslot库,或者sigc++库,或者boost中的signals,这里介绍sigslot和sig ...
- Windows环境Vim编辑器如何执行Ruby代码
1.下载 Ruby 1.8.5(2006-8-25) for Windows: 在网页http://www.rubychina.net/downloads/ 上找到 --〉Ruby on Windo ...
- 使用函数方式生成UUID
1.默认生成的UUID是有 “-” 分隔符的 例如: public static void main(String[] args){ String uuid = UUID.randomUUID().t ...
- centos7部署nagios
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- 漂亮的弹窗口插件——sweetAlert的使用
想必你已经受够了单调的alert弹窗吧? 为了更好的用户体验性,现在介绍一款漂亮的弹窗口插件——sweetAlert,现在就来介绍它的使用 1.首先在官网下载它的CSS和JavaScript文件:ht ...
- Http与RPC通信协议的比较
OSI网络结构的七层模型 各层的具体描述如下: 第七层:应用层 定义了用于在网络中进行通信和数据传输的接口 - 用户程式:提供标准服务,比如虚拟终端.文件以及任务的传输 和处理: 第六层:表 ...
- sqlldr control file compare with HEX value
when field= UTL_I18N.RAW_TO_CHAR ('e38080', 'AL32UTF8')