STL在迭代的过程,删除指定的元素

直接在Code。在 Picture

#include <iostream>
#include <list>

using namespace std;

// STL在迭代的过程中,删除指定的元素
int main()
{
	list<int> listTest;

	listTest.push_back(-1);
	listTest.push_back(-1);
	listTest.push_back(-1);
	listTest.push_back(-1);

	cout<<"list size: "<<listTest.size()<<endl;

	list<int>::iterator itList;

	for (itList=listTest.begin(); itList != listTest.end(); /*no itList++ !!*/ )
	{
		cout<<"data: "<<*itList<<endl;

		// 第一种方法
		if (*itList <= 0)
			itList = listTest.erase(itList);
		else
			++itList;
	}
	cout<<"list size: "<<listTest.size()<<endl;
	cout<<"======================================"<<endl;

	listTest.push_back(-1);
	listTest.push_back(-1);
	listTest.push_back(-1);
	listTest.push_back(1);

	cout<<"list size: "<<listTest.size()<<endl;

	for (itList=listTest.begin(); itList != listTest.end(); ++itList)
	{
		cout<<"data: "<<*itList<<endl;

		// 另外一种方法
		if (*itList <= 0)
			*itList = 0;		// 做个记录标志。等待迭代完进行回收
	}

	listTest.remove(0);			// 回收 0

	cout<<"list size: "<<listTest.size()<<endl;
	cout<<"======================================"<<endl;

	return 0;

}

执行结果:

版权声明:本文博主原创文章。博客,未经同意,不得转载。 http://blog.csdn.net/core__code

时间: 2024-07-29 07:22:44

STL在迭代的过程,删除指定的元素的相关文章

STL在迭代的过程中,删除指定的元素

直接上Code,上 Picture #include <iostream> #include <list> using namespace std; // STL在迭代的过程中,删除指定的元素 int main() { list<int> listTest; listTest.push_back(-1); listTest.push_back(-1); listTest.push_back(-1); listTest.push_back(-1); cout<<

jquery删除指定li元素简单介绍

jquery删除指定li元素简单介绍:本章节介绍一下如何利用jquery删除指定的li元素,虽然比较简单,但这也是比较常见的操作,可能很多初学者还是不够了解,下面就通过代码实例介绍一下如何实现此功能,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.sof

vector 迭代 删除指定的元素

std::vector< Bullet * > m_vBullets; std::vector< Bullet * > m_vRemoveBulltes; if ( m_vRemoveBulltes.size() > 0 ){ for ( std::vector< Bullet * >::iterator it = m_vRemoveBulltes.begin(); it != m_vRemoveBulltes.end(); it++){  //需要删除的子弹 f

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

转载自:http://my.oschina.net/zh119893/blog/265964 之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js.但也一直都是没有系统的去看过js!都是搞什么查什么!  最近要解决一个问题,但是用到了js的数组,知道了元素要去删除这个数组中的这个指定的元素.网上找到了一些解决办法,在这里做个笔记记下来:  首先可以给js的数组对象定义一个函数,用于查找指定的元素在数组中的位置,即索引,代码为: Arra

java集合遍历删除指定元素异常分析总结

在使用集合的过程中,我们经常会有遍历集合元素,删除指定的元素的需求,而对于这种需求我们往往使用会犯些小错误,导致程序抛异常或者与预期结果不对,本人很早之前就遇到过这个坑,当时没注意总结,结果前段时间又遇到了这个问题,因此,总结下遍历集合的同时如何删除集合中指定的元素: 1.错误场景复原 public class ListRemoveTest { public static void main(String[] args) { List<User> users = new ArrayList&l

动态的添加或者删除指定元素代码实例

动态的添加或者删除指定元素代码实例:本章节介绍一段代码实例,能够动态的添加或者删除指定的元素,这里不管实际应用中此代码出现的概率有多大,只在于如何实现类似的功能,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /&

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 [sql] view plaincopy <span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定时任务event</span> 由于一些业务需求,我们可能需要定时清除数据库一些废弃的数据

php 删除指定文件夹

php 删除指定文件夹 1.前言 目标:php删除一个指定目录 所使用的的php函数:is_dir,opendir,readdir,scandir,rmdir,closedir,等等(注:其他文件操作函数也可以完成,这里只列举了本次使用的函数) 2.相关函数介绍 php文件操作的方法大致相同,已经在上一篇介绍过了,这里就不在重复介绍,这里就介绍一个新函数 rmdir 详情参考:http://www.w3school.com.cn/php/func_filesystem_rmdir.asp 其他函

Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)

Elasticseach目前作为查询搜索平台,的确非常实用方便.我们今天在这里要讨论的是如何做数据备份和type删除.我的ES的版本是2.4.1. ES的备份,可不像MySQL的mysqldump这么方便,需要一个插件进行数据的导出和导入进行备份和恢复操作.这里要说的插件是elasticdump. elasticdump的安装: [[email protected] ~]# yum install elasticdump 已加载插件:fastestmirror, product-id, subs