• C++核心编程(三十三)容器(list)


    list容器是一个双向循环链表

    list容器的构造

    1)默认构造list lst;
    2)区间构造:lsitlst(v.begin(),v.end());//将v容器中指定区间,左闭又开的元素赋值给list
    3)list拷贝构造:listlst(v);//将容器v拷贝给lst;
    4)初始化元素构造:listlst(n,elem);//构造lst,lst由n个elem构成

    list容器的赋值

    1)区间赋值:lst.assgin(v.begin(),v.end());//将v容器指定区间的值赋值给lst容器左闭右开
    2)元素拷贝赋值:lst.assign(n,elem);//将n个elem赋值给容器lst
    3)运算符重载容器赋值;list=v;//将容器v赋值赋值给容器lst;

    list容器的互换

    1)lst.swap(v);//将容器list和swap互换

    list容器的大小操作

    1)empty();判断容器是否为空
    2)size();//返回容器中元素个数
    3)resize(n);//对容器重新指定大小,如果比原来大超出的部分添加0;如果比原的小,超出的部分删除
    4)resize(num,elem);//对容器重新指定大小,如果比原来的大,超出的部分添加0;如果比原来小,超出的部分删除;

    list插入和删除

    1)尾插:push_back(elem);//在容器尾部加入一个元素
    2)尾删:pop_back();//删除容器中最后一个元素
    3)头插:push_front(elem);//在容器开头插入元素
    4)任意位置插入:insert(pos,elem);//在pos位置插入elem,返回新数据的的位置
    5)任意位置插入n个元素:insert(n,elem);//在pos位置插入n个elem元素的拷贝,返回新数据的位置
    6)任一位置区间插入:insert(pos,v.begin(),v.end());向pos位置插入v容器中区间begin(),v.end()的元素,左闭右开
    7)清空容器:clear();//将容器中的数据移除
    8)区间删除:earse(beg,end);//删除[beg,end)区间的数据,返回下一数据的位置
    9)任一位置删除:erase(pos);//删除pos位置的数据,返回下一个数据的位
    10)删除任一匹配元素:remove(elem);//删除容器中所有与elem匹配的元素

    lsit元素的访问

    1)尾:back();//返回尾部元素
    2)头:front();//返回头部元素
    lsit的迭代器不支持随机访问,可以++,可以–,但是无法+1,+2等跳跃访问;

    list元素的反转和排序

    1)reverse();//将链表的元素位置反转
    2)sort(函数名);//这里的sort不能为全局函数,不支持迭代器随机访问的容器不能用全局sort,他的内部自己有个sort;

  • 相关阅读:
    [附源码]计算机毕业设计SpringBoot蛋糕购物商城
    AJAX学习笔记8 跨域问题及解决方案
    冲刺十五届蓝桥杯P0006平面切分
    快应用接入云函数服务指导
    Linux 用户必备的 Git 图形化工具
    软件工程与计算总结(二)软件工程的发展
    R计算 地理集中指数
    详解 HBase 的常用 API
    同一个线程池执行不同类型的任务
    【周末闲谈】VR新视界,“眼”见未来
  • 原文地址:https://blog.csdn.net/hpx12345678/article/details/126136903