编写程序,查找并删除forward_list<int>中的奇数元素

#include<iostream>
#include<forward_list>
using namespace std;

int main()
{
    forward_list<int> flst={0,1,2,3,4,5,6,7,8,9};
    auto prev=flst.before_begin();
    auto curr=flst.begin();
    while(curr!=flst.end())
    {
        if(*curr%2)//当找到奇数元素时,我们将prev传递给erase_after。此调用将prev之后的元素删除,即,删除curr指向的元素。然后我们将curr重置为erase_after的返回值。
            curr=flst.erase_after(prev);
        else
        {
            prev=curr;
            ++curr;
        }
    }
    for(auto f:flst)
        cout<<f<<" ";
    cout<<endl;
    return 0;
}

运行结果如下:

 

时间: 2024-09-06 03:41:32

编写程序,查找并删除forward_list<int>中的奇数元素的相关文章

文档-编写程序题 在javadoc.operation包中的Operation类

问题描述 编写程序题 在javadoc.operation包中的Operation类 编写程序,在javadoc.operation包中的Operation类包含加.减.乘.除4种运算的方法.javadoc.area包中的Area接口存在一个求面积的area()方法,Circle, Triangle, Rectangle类都实现了Area,用于求圆.三角型.长方型的面积.按照javadoc命令的语法要求,为包.类.方法加上注释,并生成注释文档.作业题 请教各位大神 麻烦了

如何删除数组中的重复元素(asp,js,php)

如何删除数组中的重复元素(asp教程,js,php教程) <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> </head> <body> js删除数据组中重复的元素 <script l

交换一个整数二进制表示中的奇数位和偶数位

题目 原文: 写程序交换一个整数二进制表示中的奇数位和偶数位,用尽可能少的代码实现. (比如,第0位和第1位交换,第2位和第3位交换-) 解答 这道题目比较简单.分别将这个整数的奇数位和偶数位提取出来,然后移位取或即可. 代码如下: int swap_bits(int x){ return ((x & 0x55555555) << 1) | ((x >> 1) & 0x55555555); } 当然也可以采用更自然的方式来写这段代码: int swap_bits1(

Linux系统中使用fdupes来查找并删除重复文件

  对于大多数计算机用户而言,查找并替换重复的文件是一个常见的需求.查找并移除重复文件真是一项令人不胜其烦的工作,它耗时又耗力.但如果你的机器上跑着GNU/Linux,那么查找重复文件会变得十分简单,这多亏了fdupes工具. fdupes是啥东东? fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查找重复的文件.fdupes通过对比文件的MD5签名,以及逐字节比较文件来识别重复内容,fdupes有各种

fdupes:Linux 中查找并删除重复文件的命令行工具

对于大多数计算机用户而言,查找并替换重复的文件是一个常见的需求.查找并移除重复文件真是一项令人不胜其烦的工作,它耗时又耗力.但如果你的机器上跑着GNU/Linux,那么查找重复文件会变得十分简单,这多亏了fdupes工具. fdupes--在Linux中查找并删除重复文件 fdupes是啥东东? fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查找重复的文件.fdupes通过对比文件的MD5签名,以及逐

函数-编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,

问题描述 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值, 编写程序从键盘输入10个float类型数存入一维数组a中,求这10个数的平均值,然后用函数aver实现平均值计算,输出这10个数以及平均值,要求数组和元素个数作为参数传递. 声明函数avar: (3)主函数输入10个数据,用for循环语句输入: 解决方案 你能不能再懒点?发了这个问题编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出,都有答案了,整数改成浮点的自己都不改. 解决方案二

c++-编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串。

问题描述 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串. 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串.例如,输入"jiangsu123"和删除位置5,则输出"jiansu123". 解决方案 #include <iostream> #include <string> using namespace std; int main() { char s1[100];

c++-编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2。

问题描述 编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2. 编写程序,输入字符串S1和S2 以及插入位置n,在字符串S1中的指定位置n处插入字符串S2.例如,输入"jiangsu"."123"和位置3,则输出"ji123angsu". 解决方案 #include <iostream> #include <string> using namespace std; int main(

单链表-@数据结构大神:查找并删除循环链表中的元素。85行的打印。为啥错了,求解

问题描述 @数据结构大神:查找并删除循环链表中的元素.85行的打印.为啥错了,求解 //循环单链表删除KEY.c:是否在.在首.唯一一个.在尾 # include<stdio.h> # include<stdlib.h> # include<malloc.h> # define array_size 50 typedef struct Node{ char data; struct Node *next; }Node,*Linklist; int i,len,key,a