C++:两种拷贝

要求是这样的…

提示:请使用C++11新标准运行测试.

编写程序,从一个list拷贝元素到两个deque中。值为偶数的所有元素都拷贝到一个deque中,而奇数则拷贝到另一个中去.

C++.
image-2044

源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*************************************************************************
    > File Name: test.9.20.cpp
    > Author: puruidong
    > Mail: 1@w1520.com
    > Created Time: 2014年05月04日
 ************************************************************************/

#include<iostream>
#include<list>
#include<iterator>
#include<deque>
using namespace std;


//编写程序,从一个list<int>拷贝元素到两个deque中。值为偶数的所有元素都拷贝到一个deque中,而奇数则拷贝到另一个中去.


void cpOS(deque<int> &os,int tis)
{
    os.push_back(tis);
}

void cpTS(deque<int> &ts,int tos)
{
    ts.push_back(tos);
}

void out(deque<int> &s)
{
    for (auto &rs:s)
    {
        cout << rs << endl;
    }
}

int main()
{
    int rnums;
    list<int> nums;
    deque<int> r1,r2;
    cout << "请输入数字[存入list]:" << endl;
    while(cin >> rnums)
    {
        nums.push_back(rnums);
    }
    for(list<int>::iterator it=nums.begin();it!=nums.end();++it)
    {
        if(*it%2==0)
        {//偶数.
            cpOS(r1,*it);
        }else
        {//奇数.
            cpTS(r2,*it);
        }
    }
    cout << "输出偶数:" << endl;
    out(r1);
    cout << "输出奇数:" << endl;
    out(r2);
    return 0;
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

*

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据