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 ;
}

点击下载Demo

C++ vector 删除一个指定元素 和 find 一个指定元素以及遍历删除、 map遍历删除元素和删除find到的元素的更多相关文章

  1. 每日分享!~ JavaScript(js数组如何在指定的位置插入一个元素)

      这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function inse ...

  2. php中删除数组的第一个元素和最后一个元素的函数

    对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...

  3. 如何使用jquery判断一个元素是否含有一个指定的类(class)

    如何使用jquery判断一个元素是否含有一个指定的类(class) 一.总结 一句话总结:可以用hasClass方法(专用)和is方法 1.is(expr|obj|ele|fn)的方法几个参数表示什么 ...

  4. JS对象 指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

    指定分隔符连接数组元素join() join()方法用于把数组中的所有元素放入一个字符串.元素是通过指定的分隔符进行分隔的. 语法: arrayObject.join(分隔符) 参数说明: 注意:返回 ...

  5. 怎么使用jquery判断一个元素是否含有一个指定的类(class)

    在jQuery中可以使用2种方法来判断一个元素是否包含一个确定的类(class).两种方法有着相同的功能.2种方法如下:(个人喜欢用hasClass()) 1.           hasClass( ...

  6. Js数组里剔除指定的元素(不是指定的位置)

    s数组里删除指定的元素(不是指定的位置)之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js.但也一直都是没有系统的去看过js!都是搞什么查 ...

  7. off(events,[selector],[fn]) 在选择元素上移除一个或多个事件的事件处理函数。

    off(events,[selector],[fn]) 概述 在选择元素上移除一个或多个事件的事件处理函数. off() 方法移除用.on()绑定的事件处理程序.有关详细信息,请参阅该网页上deleg ...

  8. 一个操作Sql2005数据库的类(备份,还原,分离,附加,添加删除用户等操作)(转载)

    /* * 更新时间 :2011-09-01 16:06 * 更 新 人 :苏飞 */ using System; using System.Collections.Generic; using Sys ...

  9. 使用css3和伪元素制作的一个立体导航条

    使用css3和伪元素制作的一个立体导航条供大家参考,代码如下: <!doctype html> <html lang="en"> <head> ...

随机推荐

  1. LinkedList ArrayList 比较

    小结: 1.不是同步的,多线程情况下的处理 List list = Collections.synchronizedList(new LinkedList(...)); 2. 快速失败.并发修改异常 ...

  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 ...

  3. scrollView + tableview 上下滑动失效

    scrollView + tableview 上下滑动失效 控制器添加的  要加到子控制器,不然被销毁了 [self addChildViewController:chatVC];

  4. Percona Data Recovery Tool 单表恢复

    前几天写过update或者delete忘加where条件的数据恢复.今天介绍一款开源的MySQL数据库InnoDB数据恢复工具:innodb-tools,它通过从原始数据文件中提取表的行记录,实现从丢 ...

  5. SQL SERVER深入学习学习资料参考

    SQL SERVER深入学习学习资料参考 1.微软Webcast<sql server 2000完结篇>. 尽管微软Webcast出了很多关于Sql Server的系列课程,但是最为深入讲 ...

  6. 优化dedecms设置文章url自定义规则

    DEDECMS自定义URL规则的做得还是不错的,可清楚的看到URL中可用到的变量,并且这些变量包括年月日.时间戳.文章 ID.拼音+文章ID.拼音部首.栏目目录及日期加ID转换的字符串等,基本可以很好 ...

  7. RN例子,发送http请求,日期选择

    发送http请求 let map = { method: 'post', headers: { token: '', 'Content-Type': 'application/json' }, bod ...

  8. windows使用方法

    1:截图搜索英文单词:snipping tool 2: 修改语言,搜索language 3:关闭fn键,按键 fn+esc(fnlock).  就可以将fn关闭和开启.

  9. TraceSource记录程序日志

    1.配置文件 <system.diagnostics> <sources> <source name="TraceError" switchValue ...

  10. js数组中indesOf方法的使用

    <html> <head> <title>数组的操作</title> <script type="text/javascript&quo ...