C++ vector 删除一个指定元素 和 find 一个指定元素以及遍历删除、 map遍历删除元素和删除find到的元素
vector:
1.delete element
转载:http://www.cnblogs.com/xudong-bupt/p/3522457.html
#include <vector>
using namespace std;
void main(void)
{
vector<int> array;
array.push_back();
array.push_back();
array.push_back();
array.push_back();
array.push_back(); vector<int>::iterator itr = array.begin();
while (itr != array.end())
{
if (*itr == )
{
itr = array.erase(itr);//删除元素,返回值指向已删除元素的下一个位置
}
else
{
++itr;
}
}
}
2.find element
转载:http://blog.sina.com.cn/s/blog_7c18235d0100tnjt.html
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std; vector<int> array();//整型的array数组 int main()
{
array[]=; vector<int>::iterator s=find(array.begin(),array.end(),);//第一个参数是array的起始地址,第二个参数是array的结束地址,第三个参数是需要查找的值 if( s !=array.end())//找到
cout<<*s<<endl; else cout<<"not find!"<<endl;
system("pause");
return ;
}
3.Traverse delete element
#include <vector>
#include <iostream>
using namespace std; int main()
{
vector<int> test_vec;
for (int i = ; i<;i++)
{
test_vec.push_back(i);
}
for(vector<int>::iterator it = test_vec.begin(); it != test_vec.end(); )
{
cout<<*(it)<<endl;
it = test_vec.erase(it);
}
return ;
}
转载:http://blog.csdn.net/windren06/article/details/8141921
转载:http://www.cnblogs.com/dabaopku/p/3912662.html
转载:http://blog.csdn.net/dds_dev_group/article/details/6951441
map:
1.Traverse delete element
方法一
#include<map>
#include<string> int main()
{
map<string,int> m;
m["a"]=;
m["b"]=;
m["c"]=;
map<string,int>::iterator it;
for(it=m.begin();it!=m.end();)
{
map<string,int>::iterator it_back = it;//备份迭代器。因为删除操作后,迭代器指向空,要备份。
if(it_back != m.end())
{
it++;
m.erase(it_back);
}
}
return ;
}
it指针在元素被删除后失效了,所以在删除之前要备份当前it,it++之后移动一下个元素,然后再删除当前元素
方法二:
int main()
{
std::map<string,int> m;
m["a"]=;
m["b"]=;
m["c"]=;
map<string,int>::iterator it;
for(it=m.begin();it!=m.end();)
{
if(it != m.end())
{
m.erase(it++);
}
}
return ;
}
在执行erase之前,it已经被加1了。erase会使得以前那个未被加一的it失效,而加了一之后的新的it是有效的。
2. find delete element(找到指定的元素删除)
#include<map>
int main()
{
map<string,int> m;
m["a"]=;
m["b"]=;
m["c"]=;
map<string,int>::iterator iter; iter = m.find("a"); if(iter!=m.end())//找到了
{
cout << iter->first << endl;
m.erase(iter);
}
return ;
}
C++ vector 删除一个指定元素 和 find 一个指定元素以及遍历删除、 map遍历删除元素和删除find到的元素的更多相关文章
- 每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)
这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function inse ...
- php中删除数组的第一个元素和最后一个元素的函数
对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...
- 如何使用jquery判断一个元素是否含有一个指定的类(class)
如何使用jquery判断一个元素是否含有一个指定的类(class) 一.总结 一句话总结:可以用hasClass方法(专用)和is方法 1.is(expr|obj|ele|fn)的方法几个参数表示什么 ...
- JS对象 指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回 ...
- 怎么使用jquery判断一个元素是否含有一个指定的类(class)
在jQuery中可以使用2种方法来判断一个元素是否包含一个确定的类(class).两种方法有着相同的功能.2种方法如下:(个人喜欢用hasClass()) 1. hasClass( ...
- Js数组里剔除指定的元素(不是指定的位置)
s数组里删除指定的元素(不是指定的位置)之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js.但也一直都是没有系统的去看过js!都是搞什么查 ...
- off(events,[selector],[fn]) 在选择元素上移除一个或多个事件的事件处理函数。
off(events,[selector],[fn]) 概述 在选择元素上移除一个或多个事件的事件处理函数. off() 方法移除用.on()绑定的事件处理程序.有关详细信息,请参阅该网页上deleg ...
- 一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作)(转载)
/* * 更新时间 :2011-09-01 16:06 * 更 新 人 :苏飞 */ using System; using System.Collections.Generic; using Sys ...
- 使用css3和伪元素制作的一个立体导航条
使用css3和伪元素制作的一个立体导航条供大家参考,代码如下: <!doctype html> <html lang="en"> <head> ...
随机推荐
- LinkedList ArrayList 比较
小结: 1.不是同步的,多线程情况下的处理 List list = Collections.synchronizedList(new LinkedList(...)); 2. 快速失败.并发修改异常 ...
- upower xdisplay--nvidia -vga---cpu info
grep 'physical id' /proc/cpuinfo | sort -u | wc -l grep 'core id' /proc/cpuinfo | sort -u | wc -l gr ...
- scrollView + tableview 上下滑动失效
scrollView + tableview 上下滑动失效 控制器添加的 要加到子控制器,不然被销毁了 [self addChildViewController:chatVC];
- Percona Data Recovery Tool 单表恢复
前几天写过update或者delete忘加where条件的数据恢复.今天介绍一款开源的MySQL数据库InnoDB数据恢复工具:innodb-tools,它通过从原始数据文件中提取表的行记录,实现从丢 ...
- SQL SERVER深入学习学习资料参考
SQL SERVER深入学习学习资料参考 1.微软Webcast<sql server 2000完结篇>. 尽管微软Webcast出了很多关于Sql Server的系列课程,但是最为深入讲 ...
- 优化dedecms设置文章url自定义规则
DEDECMS自定义URL规则的做得还是不错的,可清楚的看到URL中可用到的变量,并且这些变量包括年月日.时间戳.文章 ID.拼音+文章ID.拼音部首.栏目目录及日期加ID转换的字符串等,基本可以很好 ...
- RN例子,发送http请求,日期选择
发送http请求 let map = { method: 'post', headers: { token: '', 'Content-Type': 'application/json' }, bod ...
- windows使用方法
1:截图搜索英文单词:snipping tool 2: 修改语言,搜索language 3:关闭fn键,按键 fn+esc(fnlock). 就可以将fn关闭和开启.
- TraceSource记录程序日志
1.配置文件 <system.diagnostics> <sources> <source name="TraceError" switchValue ...
- js数组中indesOf方法的使用
<html> <head> <title>数组的操作</title> <script type="text/javascript&quo ...