• 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)位置的元素

  • 相关阅读:
    606. Construct String from Binary Tree 【easy】
    520. Detect Capital【easy】
    28. Implement strStr()【easy】
    521. Longest Uncommon Subsequence I【easy】
    线程,进程,任务
    nginx for windows中的一项缺陷
    nginx在windwos中的使用
    关于wxwidgets图形界面的关闭窗口的按钮无效的解决办法
    进程与线程之间的资源的关系
    关于函数可重入需要满足的条件
  • 原文地址:https://www.cnblogs.com/qq2210446939/p/12489187.html
Copyright © 2020-2023  润新知