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
    */ 
  • 相关阅读:
    Matlab中的随机数生成器
    Matlab中的随机数生成器
    Matlab 函数返回矩阵
    Matlab 函数返回矩阵
    Matlab 函数返回矩阵
    矩阵同列同行复制原理
    矩阵同列同行复制原理
    Apache/RewriteRule
    使用google map v3添加经纬度信息
    评论:一站式学习C编程(升级版) (平装)
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537929.html
Copyright © 2011-2022 走看看