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

    简述:

      list是stl的一个容器,本质上就是一个双向链表,能够支持O(1)的插入和删除。但list的查找却是O(n),无法用二分优化,因为list的存取方式不是随机存取,所以也就没有find函数了。

    定义:

    list<int> li;
    list<int>::iterator it;

    常见操作:

    (1)容量

    •li.size();                容器内数量

    •li.empty();             判空

    •li.clear();               清空

    •li.resize(n);           重新定义list,超出部分用0代替

    •li.resize(n,num);   重新定义list,超出部分用num代替

    (2)返回信息

    •li.front();       返回链首第一个元素

    •li.back();    返回链位第一个元素

    •li.begin();     返回链首迭代器

    •li.end();     返回链尾迭代器

    (3)操作

    •li.push_back(x);            在链尾插入x

    •li.pop_back();         链尾元素出链

    •li.push_front(x);           在链头插入x

    •li.pop_front();            链头元素出链

    •li.erase(pos); 删除pos位置的元素,会使迭代器失效,会返回下一位置迭代器

    •li.remove(x);        删除链表中匹配x的元素

    •li.unque();         在相邻元素中去重

    •li.reverse();          翻转链表

    •li.insert(pos,x);          在pos位置插入元素x 

    •li.insert(pos,n,x);       在pos位置插入n个x

    •li.insert(pos,beg,end);      在pos位置插入另一容器beg到end位置的元素

    •li.merge(li2);        将li2的元素放到li里并排序

    •li.splice(pos,li2);        将li2的元素衔接到li的pos位置       

    •c1.splice(c1.beg,c2,c2.beg,c2.end)将c2的[beg,end)位置的元素连接到c1的beg位置并且释放c2的[beg,end)位置的元素

  • 相关阅读:
    .NET之API版本控制
    接口管理平台YApi
    .NET之WebAPI
    Hyperv安装Centos7
    nginx添加https模块
    基于centos8镜像,打包php的docker镜像
    jmeter生成HTML性能测试报告(转载)
    jmeter相关(转载)
    接口测试总结(转载)
    【解决了一个小问题】alert manager中的cluster.advertiseaddress参数是什么意思?
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/12489187.html
Copyright © 2011-2022 走看看