c++删除容器中的奇数
出自
c++ primer(4th)282页,26题
题意
数组ia[]={0,1,1,2,3,5,8,13,21,55,89};把ia复制到一个list容器中。使用单个迭代器参数版本的erase()函数将list容器中的奇数元素值删掉。
代码
#include <iostream>
#include <list>
using namespace std;
int main()
{
int ia[] = {,,,,,,,,,,};
list<int> ilist(ia, ia+);
list<int>::iterator beg = ilist.begin();
for(;beg!=ilist.end();)
{
cout << *beg << " " << *beg % << endl;
if( == (*beg % ))
beg = ilist.erase(beg);
else
++beg;
}
for(beg=ilist.begin(); beg!=ilist.end(); beg++)
cout << "UU:" << *beg << endl;
cout << ilist.size() << endl;
}
说明几点
1. 指针就是迭代器
2.容器初始化的一种方式就是:C c(beg, end)——C为容器类型名如,list;c为自己建立的容器名,如ilist;beg,end为容器的初始迭代器(复制不包括end所指元素)
3. 删除操作 ilist.erase(beg)——删除beg迭代器指向的元素,返回一迭代器,指向被删除元素后面的元素
c++删除容器中的奇数的更多相关文章
- 遍历并批量删除容器中元素出现ConcurrentModificationException原因及处置
在以下四种遍历过程中,前两种会抛出ConcurrentModificationException,而后两种方法是正确的. Department类: package com.sitinspring; i ...
- 删除vector中的偶数元素,删除list中的奇数元素
#include<vector> #include<list> #include<iostream> using namespace std; int main() ...
- 如何批量删除Docker中已经停止的容器
如何批量删除Docker中已经停止的容器 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...
- docker实战系列之快速删除docker中的容器
1.停用全部运行中的容器 docker stop $(docker ps -q) 2.删除全部容器 docker rm $(docker ps -aq) 3.停用并删除容器 docker stop $ ...
- vector容器中添加和删除元素
添加元素: 方法一: insert() 插入元素到Vector中 iterator insert( iterator loc, const TYPE &val ); //在指定位置loc前插入 ...
- 【面试题】如何删除 ArrayList 中奇数位置的元素?
如何删除 ArrayList 中奇数位置的元素? 面试题携程 import java.util.ArrayList; import java.util.Iterator; import java.ut ...
- 定时脚本删除docker容器中内容
今天在我同步mongo数据库的时候,服务器的磁盘突然就被占满了导致同步中断,mongo容器也停止工作了.然后就想要弄一个能够定时清理同步过程中留存在docker容器中的mongo数据的脚本.话不多说, ...
- 【Java心得总结六】Java容器中——Collection
在[Java心得总结五]Java容器上——容器初探这篇博文中,我对Java容器类库从一个整体的偏向于宏观的角度初步认识了Java容器类库.而在这篇博文中,我想着重对容器类库中的Collection容器 ...
- spring:如何用代码动态向容器中添加或移除Bean ?
先来看一张类图: 有一个业务接口IFoo,提供了二个实现类:FooA及FooB,默认情况下,FooA使用@Component由Spring自动装配,如果出于某种原因,在运行时需要将IFoo的实现,则F ...
随机推荐
- [Erlang21]Erlang性能分析工具eprof fporf的应用
前段时间项目改代码突然cpu波动很大,排查了好久都没有找到原因,只能求助于性能测试工具 : <<Erlang程序设计>>----Joe Armstorng[哈哈,登月第一人 ...
- shell备份文件时加上时间戳
1.在root目录下新建backup_date文件,写入echo _back_`date '+%Y%m%d%H%M%S'` [root@iZbp10er5cziaoscpe3x0hZ ~]# vi b ...
- DataTable转List<T>
/// <summary> /// DataTable转List<T> /// </summary> public static class TableToList ...
- 关于My Sql update语句不能用子查询的解决办法
在使用My Sql数据库语法操作update时,第一时间想到的是一下写法: UPDATE purchase_request_detail SET convert_to_voucher_id=, con ...
- 针对SQLServer数据库的通用访问类
Web.config中代码 <configuration> <connectionStrings> <add name="connString" co ...
- Winform窗体改变语言类型的方式
Winform改变语言类型比较复杂,需要根据不同语言应用语言资源.而软件在进行语言切换时,需要将当前的UI文化线程引用对应的语言类型.常用的有三种方式,此处使用两种,对比发现其中的优缺点: /// & ...
- pageadmin CMS 如何添加自定义页面
理论上网站上的所有页面都可以通过栏目管理来添加,那自定义页面的意义是什么呢? 网站的需求是很多样化的,比如需要制作一个对外提供数据的api,甚至制作一个搜索页面,或者制作一些数据和栏目没有对应关系的页 ...
- android 开发 简单的小计算器
↑大致效果 项目构成: 随便写的,用的线性布局 activity_main.xml <?xml version="1.0" encoding="utf-8" ...
- CentOS运行C++语言的Hello World
1,编写代码,hello.cpp #include <iostream> using namespace std; int main(){ cout<<"hello ...
- form表单元素的值序列化成对象
/** * 将form表单元素的值序列化成对象 * param: form jquery form对象 */ var serializeObject = function(form) { var o ...