• list-splice


    ////////////////////////////////////////
    //      2018/04/27 11:09:23
    //      list-splice
    
    // merge two lists
    #include <iostream>
    #include <list>
    #include <algorithm>
    #include <iterator>
    
    using namespace std;
    
    template<class T>
    class Print{
    public:
        void operator ()(T& t){
            cout << t << " ";
        }
    };
    //========================================
    
    int main(){
        list<int> li1, li2, li3,li4;
        Print<int> print;
    
        for (int i = 1; i <= 5; i++){
            li1.push_back(i);
            li2.push_back(i + 5);
            li3.push_back(i + 10);;
            li4.push_back(i + 15);
        }
    
        cout << "li1:";
        for_each(li1.begin(), li1.end(),print);
        cout << endl;
    
        cout << "li2:";
        for_each(li2.begin(), li2.end(), print);
        cout << endl;
    
        cout << "li3:";
        for_each(li3.begin(), li3.end(), print);
        cout << endl;
    
        cout << "li4:";
        for_each(li4.begin(),li4.end(), print);
        cout << endl;
    
        // splice 连接
        li1.splice(li1.end(),li2);
        cout << "li1:";
        for_each(li1.begin(), li1.end(), print);
        cout << endl;
    
        cout << "li2:";
        for_each(li2.begin(), li2.end(),print);
        cout << endl;
    
        li1.splice(li1.end(), li3, li3.begin(), li3.end());
        cout << "li1:";
        for_each(li1.begin(), li1.end(), print);
        cout << endl;
    
        list<int>::iterator it;
        it = find(li4.begin(), li4.end(), 18);
        li1.splice(li1.begin(),li4,it);
        cout << "li1:";
        for_each(li1.begin(), li1.end(), print);
        cout << endl;
    
        cout << "li4:";
        for_each(li4.begin(), li4.end(), print);
        cout << endl;
        return 0;
    }
    
    /*
    OUTPUT:
        li1:1 2 3 4 5
        li2:6 7 8 9 10
        li3:11 12 13 14 15
        li4:16 17 18 19 20
        li1:1 2 3 4 5 6 7 8 9 10
        li2:
        li1:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
        li1:18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
        li4:16 17 19 20
    */ 
  • 相关阅读:
    OneDay!——冲刺日志6(05-03)
    OneDay!——冲刺日志5(04-30)
    OneDay!——冲刺日志4(04-29)
    OneDay!——冲刺日志3(04-28)
    OneDay!——冲刺日志2(04-27)
    OneDay!——冲刺日志集合1
    OneDay!——冲刺日志1(04-26)
    团队作业第五次——站立式会议+alpha冲刺
    Hail_Hydra2—冲刺日志(7)
    Hail_Hydra2—冲刺日志(6)
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537930.html
Copyright © 2020-2023  润新知