zoukankan      html  css  js  c++  java
  • 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
    */ 
  • 相关阅读:
    2021.07.14牛客学习
    2021.07.13学习总结
    new和malloc区别(自己口头描述)以及delete用法
    排序整理(c++实现),搭配图解
    如何将bilibili上缓存的文件转成MP4
    第07组 团队Git现场编程实战
    第二次结队编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537930.html
Copyright © 2011-2022 走看看