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

    MYSQLI_REPORT_OFF Turns reporting off MYSQLI_REPORT_ERROR Report errors from mysqli function calls M ...

  2. linux下的vdso与vsyscall

      传统的系统调用是怎样的?    —— int 0x80的时代 .... :通过寄存器传参 mov $n ,eax :将系统调用号放到eax中 int 0x80 sysenter/sysexit的出 ...

  3. Find The Multiple--POJ1426

    Description Given a positive integer n, write a program to find out a nonzero multiple m of n whose ...

  4. 正则表达式(二):Unicode诸问题上篇(转)

    原文:http://www.infoq.com/cn/news/2011/02/regular-expressions-unicode 关于正则表达式的文档很多,但大部分都是英文的,即便有中文的文档, ...

  5. eclipse 64和32位切换

    JAVA_HOME配置的是JAVA_HOME=D:\Java\32\jdk1.6.0_13

  6. windows平台mysql密码破解设置

    windows平台下,5.7版本mysql,破解密码的两种方式: #1 关闭mysql服务net stop mysql 启动mysql服务 跳过权限 #2 在cmd中执行:mysqld --skip- ...

  7. [py]django第三方分页器django-pure-pagination实战

    第三方分页模块: django-pure-pagination 是基于django的pagination做的一款更好用的分页器 参考 配置django-pure-pagination模块 安装 pip ...

  8. maven工程插件配置

    <build> <!-- 该级工程会加载插件,放在父工程里 --> <plugins> <!-- 资源文件拷贝插件 --> <plugin> ...

  9. 第22章 CLR寄宿和AppDomain

    22.1 CLR寄宿 CLR Hosting(CLR 宿主)的概念:初始启动.Net Application时,Windows进程的执行和初始化跟传统的Win32程序是一样的,执行的还是非托管代码,只 ...

  10. isKindOfClass isMemeberOfClass 的区分

    isKindOfClass If you use such constructs in your code, you might think it is alright to modify an ob ...