zoukankan      html  css  js  c++  java
  • list

    list也是一个容器,和vector一样,不同的是,list是用双向链表实现的,所以对于list来说,在中间插入删除数据要比vector快得多

    首先引入头文件

    #include <list>

    创建一个list

    std::list<int> lgh;

    和vector一样 可以在创建的同时初始化

    比如

    list<int> lgh(2,10);
    list<int> lgh(10);
    list<int> lgh={1,2,3,4,5};

    接下来使用迭代器打印全部的list元素

    同时还要用到 begin()   end() 

    int main()
    {
        list<int> lasdf = {1,2,3,4,5,7,8};
        list<int>::iterator iter;
        for ( iter = lasdf.begin(); iter  != lasdf.end(); iter++)
        {
            cout<<*iter<<' ';
        }
    }

    也可以用同样的方式输出第一个元素  最后一个元素 size长度等

        cout<<lasdf.front()<<endl;
        cout<<lasdf.back()<<endl;
        cout<<lasdf.size()<<endl;

    以下是常用成员函数

    assign() 给list赋值 
    back() 返回最后一个元素 
    begin() 返回指向第一个元素的迭代器 
    clear() 删除所有元素 
    empty() 如果list是空的则返回true 
    end() 返回末尾的迭代器 
    erase() 删除一个元素 
    front() 返回第一个元素 
    get_allocator() 返回list的配置器 
    insert() 插入一个元素到list中 
    max_size() 返回list能容纳的最大元素数量 
    merge() 合并两个list 
    pop_back() 删除最后一个元素 
    pop_front() 删除第一个元素 
    push_back() 在list的末尾添加一个元素 
    push_front() 在list的头部添加一个元素 
    rbegin() 返回指向第一个元素的逆向迭代器 
    remove() 从list删除元素 
    remove_if() 按指定条件删除元素 
    rend() 指向list末尾的逆向迭代器 
    resize() 改变list的大小 
    reverse() 把list的元素倒转 
    size() 返回list中的元素个数 
    sort() 给list排序 
    splice() 合并两个list 
    swap() 交换两个list 
    unique() 删除list中重复的元素

    排序

    int main()
    {
        list<int> lasdf = {1,2,3,4,5,7,8};
        list<int>::iterator iter;
        for ( iter = lasdf.begin(); iter  != lasdf.end(); iter++)
        {
            cout<<*iter<<' ';
        }
    
        cout<<lasdf.front()<<endl;
        cout<<lasdf.back()<<endl;
        cout<<lasdf.size()<<endl;
        lasdf.push_back(5);
        lasdf.push_front(18);
        lasdf.sort();
        for ( iter = lasdf.begin(); iter  != lasdf.end(); iter++)
        {
            cout<<*iter<<' ';
        }
    }

    输出结果

    1 2 3 4 5 7 8 1
    8
    7
    1 2 3 4 5 5 7 8 18 

    因为list和vector的用法和函数几乎一样 所以我就不一个个写进来

     

     

     

     

     

     

  • 相关阅读:
    iis 7.5应用程序池自动停止
    百度云推送
    两点经纬度之间距离计算
    集合已修改;可能无法执行枚举操作。
    【百度地图】- 学习.1
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    微信相关内容
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    php面试相关
    MySQL权限管理
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/12600471.html
Copyright © 2011-2022 走看看