zoukankan      html  css  js  c++  java
  • List详解

    List详解:

      1.List赋值

      2.基本成员函数

      3.merge合并

      4.remove删除

      5.splice插入

      6.unique去重

    List赋值:

    #include <iostream>
    #include <list>
    using namespace std;
    int main () {
        //构造函数
        int v_b[10]={1,2,3,4,5,6};
        list<int> list_b(v_b,v_b+10);
        list<int> list_b(100,1);         // 100个值为1的元素
        return 0;

     

    基本成员函数 :

        list<int> list_a;
        int a,b,c,d;
        int v_a[10]={1,2,3,4};
        scanf("%d%d%d%d",&a,&b,&c,&d);
        list_a.push_back(a);  
        list_a.push_front(b);
        cout<<list_a.front()<<" "<<list_a.back()<<endl;
        list_a.pop_front();     
        list_a.pop_back();
        cout<<list_a.size()<<endl;
        list_a.insert(list_a.begin(),v_a+1,v_a+3);
        cout<<list_a.size();
        for(list<int>::iterator it=list_a.begin();it!=list_a.end();it++)
            cout<<*it<<" ";
        cout<<endl;
        list_a.erase(list_a.begin(),list_a.end());
        for(list<int>::iterator it=list_a.begin();it!=list_a.end();it++)
            cout<<*it<<" ";
        cout<<endl;
        //基本成员函数 

    merge合并 :

        list<int> list_c(10,1),list_d(10,2);//没有等于号 
        list_c.push_back(100);
        list_c.push_front(100);
        list_d.merge(list_c);    
        for(list<int>::iterator it=list_d.begin();it!=list_d.end();it++)
            cout<<*it<<" ";
        cout<<endl;
        for(list<int>::iterator it=list_c.begin();it!=list_c.end();it++)
            cout<<*it<<" ";    
        //merge合并  若A,B为有序,C也为有序,若A,B为无序,C也为无序,llistb完后为空

    remove删除:

        list<int> list_e(10,1);
        list_e.remove(1);
        for(list<int>::iterator it=list_e.begin();it!=list_e.end();it++)
            cout<<*it<<" ";
        //remove删除  O(1) 删除  .remove(2) 把二全删除

    splice插入:

        list<int> list_f(10,1),list_g(10,2); 
        list_f.splice(list_f.begin(),list_g);
        for(list<int>::iterator it=list_f.begin();it!=list_f.end();it++)
            cout<<*it<<" ";
        //splice链表插入 位置需要指针,迭代器只能++,--, 不能直接+1等常数 

    unique去重:

        list<int> list_h(10,1);
        list_h.unique();
        for(list<int>::iterator it=list_h.begin();it!=list_h.end();it++)
            cout<<*it<<" ";
        //unique连续元素压缩为单个元素,将其删除,大小减小
  • 相关阅读:
    oracle行转列
    中国软件开发标准各项文档模板下载(附模版)
    熙熙SQLCE类熙熙
    用反射技术实现将泛型集合类中的数据导出成EXCEL
    WinCE 5.0 中文模拟器SDK(VS2005, VS2008)的配置
    OpenFrameworks x kinect x Android
    Ubuntu11.04软件源增强版
    信号量与自旋锁
    android 编写命令行测试程序
    在 Ubuntu 上换用 OSS4 声音系统
  • 原文地址:https://www.cnblogs.com/SeanOcean/p/10366687.html
Copyright © 2011-2022 走看看