• list、vector、deque互相拷贝


    #include <iostream>
    #include <stdlib.h>
    #include <string.h>
    #include <algorithm>
    #include <vector>
    #include <list>
    #include <deque>
    using namespace std;
    
    //利用模版进行输出
    template <typename Tv>
    void print_v(vector<Tv> a)
    {
        //输出方法1
        for(auto i:a)
        {
            cout<<i<<'	';
        }
        cout<<endl;
        //输出方法2
        typename vector<Tv>::iterator it;//前面要加typename,要不会出错
        for(it=a.begin();it!=a.end();it++)
        {
            cout<<*it<<'	';
        }
        cout<<endl;
    }
    template <typename Tl>
    void print_l(list<Tl> a)
    {
        //输出方法1
        for(auto i:a)
        {
            cout<<i<<'	';
        }
        cout<<endl;
        //输出方法2
        typename list<Tl>::iterator it;//前面要加typename,要不会出错
        for(it=a.begin();it!=a.end();it++)
        {
            cout<<*it<<'	';
        }
        cout<<endl;
    }
    template <typename Tq>
    void print_q(deque<Tq> a)
    {
        //输出方法1
        for(auto i:a)
        {
            cout<<i<<'	';
        }
        cout<<endl;
        //输出方法2
        typename deque<Tq>::iterator it;//前面要加typename,要不会出错
        for(it=a.begin();it!=a.end();it++)
        {
            cout<<*it<<'	';
        }
        cout<<endl;
    }
    
    
    int main()
    {
        //copy list to list
        list<string> l={"12","13","14","15"};
        list<string> l_1(l);//方法1
        list<string> l_2;
        copy(l.begin(), l.end(), back_inserter(l_2));//方法2
        cout<<"l_1:
    ";
        print_l(l_1);
        cout<<"l_2:
    ";
        print_l(l_2);
        cout<<"----------------------------------------------"<<endl;
    
        //copy vector to vector
        vector<string> v={"v1","v2","v3","v4"};
        vector<string> v_1(v);//方法1
        vector<string> v_2;
        copy(v.begin(), v.end(), back_inserter(v_2));//方法2
        cout<<"v_1:
    ";
        print_v(v_1);
        cout<<"v_2:
    ";
        print_v(v_2);
        cout<<"----------------------------------------------"<<endl;
    
        //copy list to vector
        list<string> list1={"12","13","14","15"};
        vector<string> vector1;
        copy(list1.begin(), list1.end(), back_inserter(vector1));
        cout<<"vector1:
    ";
        print_v(vector1);
        cout<<"----------------------------------------------"<<endl;
    
        //copy vector to list
        vector<string> vector2={"v1","v2","v3","v4"};
        list<string> list2;
        copy(vector2.begin(), vector2.end(), back_inserter(list2));
        cout<<"list2:
    ";
        print_l(list2);
        cout<<"----------------------------------------------"<<endl;
    
        //copy deque to vector
        deque<string> deque3(6,"abc");
        vector<string> vector3;
        copy(deque3.begin(), deque3.end(), back_inserter(vector3));
        cout<<"vector3:
    ";
        print_v(vector3);
        cout<<"----------------------------------------------"<<endl;
    
        //copy vector to deque
        deque<string> deque4;
        vector<string> vector4(6,"dfg");
        copy(vector4.begin(), vector4.end(), back_inserter(deque4));
        cout<<"deque4:
    ";
        print_q(deque4);
        cout<<"----------------------------------------------"<<endl;
    
        //copy deque to list
        deque<string> deque5(6,"dfg");
        list<string> list5;
        copy(deque5.begin(), deque5.end(), back_inserter(list5));
        cout<<"list5:
    ";
        print_l(list5);
        cout<<"----------------------------------------------"<<endl;
    
        //copy vector to deque
        deque<string> deque6;
        list<string> list6(6,"dfg");
        copy(list6.begin(), list6.end(), back_inserter(deque6));
        cout<<"deque6:
    ";
        print_q(deque6);
        cout<<"----------------------------------------------"<<endl;
        return 0;
    } 
  • 相关阅读:
    【模板】可持久化线段树
    【模板】可持久化权值线段树(主席树)
    BZOJ 2456 Mode
    【模板】可持久化Treap
    BZOJ 1452 Count 【模板】二维树状数组
    高级线程之线程池
    STL优先队列重载
    单链表及简单应用
    2017 计蒜之道 初赛 第一场 A 阿里的新游戏
    2017 计蒜之道 初赛 第一场 B阿里天池的新任务(简单)
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/9299026.html
Copyright © 2020-2023  润新知