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. hive学习-测试数据

    测试数据: ---------------------------------------------MySQL-------------------------------------------- ...

  2. Docker,docker-machine,docker-composer

    https://docs.docker.com/engine/installation/mac/ Docker值得关注的特性文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里.资源隔离:系统资 ...

  3. 【Git 使用笔记】第三部分:多分支开发

    ###举例仓库 仓库地址A:git@gitlab.54php.cn:guowei/demos.git 仓库地址B:git@gitlab.54php.cn:infra/demos.git 开发人员仓库C ...

  4. Scala安装配置

    注:下载地址:http://downloads.typesafe.com/scala/2.11.6/scala-2.11.6.tgz?_ga=1.41078626.1125902863.1429259 ...

  5. js-jquery-SweetAlert2【一】使用

    概述:SweetAlert2是SweetAlert-js的升级版本,它解决了SweetAlert-js中不能嵌入HTML标签的问题,并对弹出对话框进行了优化,同时提供对各种表单元素的支持,还增加了5种 ...

  6. mysql 用户授权命令

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_root_password' WITH GRANT OP ...

  7. pandas.drop/isnull/fillna/astype的用法

    删除表中的某一行或者某一列更明智的方法是使用drop,它不改变原有的df中的数据,而是返回另一个dataframe来存放删除后的数据. (1)清理无效数据 df[df.isnull()] #返回的是个 ...

  8. Fortran入门:Windows平台的Fortran编译器安装和使用

    因为课程需要,今年开始学习FORTRAN语言.之前学校的计算概论用的是C,后来又学了C++和Python作为面向对象的工具,数值计算方面主要通过学校的许可证用的MATLAB.因为专业侧重数值模拟和反演 ...

  9. EasyUI写的登录界面

    <!DOCTYPE html><html> <head>        <meta charset="utf-8" />       ...

  10. 分布式一致性Hash

    转载: https://blog.csdn.net/bntX2jSQfEHy7/article/details/79549368 为什么要有Hash一致性算法?就像以前介绍为什么要有Spring一样, ...