list

list的优缺点
复制代码
链表的优点
可以对任意位置进行快速的插入和删除
复制代码
缺点
遍历速度没有数组快,占用空间大
list的构建
  • list<T> lst;

  • list(begin,end) //将[begin,end]之间的元素拷贝给本身

  • list(n,num) //将n个num拷贝给本身

  • list((const)list &lst) //拷贝函数


    //1
    list<int> lst1;

    //2
    list<int> lst2(5,0);

    //3
    list<int> lst3(lst2.begin(),lst2.end());

    //4
    list<int> lst4(lst2);

list的赋值
复制代码
    //1  等号赋值
    list<int> l1;
    for(int i=0;i<10;i++)
        l1.push_back(i*10);
    list<int> l2;
    l2=l1;
    //2
    list<int> l3;
    l3.assign(l2.begin(),l2.end());
    //3
    list<int> l4;
    l4.assign(6,6); // 6 6 6 6 6 6
交换
复制代码
​
 
    list<int> l1;
    for(int i=0;i<10;i++)
        l1.push_back(i*10);
    list<int> l2;
    l2.assign(6,6);
    l1.swap(l2);//l1与l2交换

​
大小操作
  • size() //返回元素个数
  • empty() //判断是否为空
  • resize(n) //重新指定容器长度长为n,若变长,则默认0填充新位置,变短,则末尾超出容器 的长度的元素删除
  • resize(n,elem) //重新指定容器长度长为n,若变长,则elem填充新位置,变短,则末尾超出容 器的长度的元素删除
插入和删除
  • push_back(elem); //在容器尾部加入一个元素
  • pop_back(); //删除容器中最后一个元素
  • push_front(elem); //在容器开头插入一个元素
  • pop_front(); //从容器开头移除第一个元素
  • insert(pos, elem); //在pos位置插elem元素的拷贝,返回新数据的位置。
  • insert(pos,n,elem); //在pos位置插入n个elem数据,无返回值。
  • insert(pos,beg, end); //在pos位置插入[beg,end)区间的数据,无返回值。
  • clear(); //移除容器的所有数据
  • erase(beg,end); //删除[beg,end)区间的数据,返回下一个数据的位置。
  • erase(pos); //删除pos位置的数据,返回下一个数据的位置。
  • remove(elem); //删隆容器中所有与elem值匹配的元素。
数据存取
  • front() //返回第一个元素
  • back() //返回最后一个元素
list的反转和排序
  • reverse() //反转链表
  • sort() //链表排序

反转链表

复制代码
list<int> lst;
lst.push_back(10);
lst.push_back(80);
lst.push_back(50);
lst.push_back(70);
lst.push_back(30);//10 80 50 70 30
lst.reverse();    //30 70 50 80 10

链表排序(所有不支持随机访问迭代器的容器,不可以用标准算法)

复制代码
bool compare(int a,int b){
    return a>b;
}

//升序排列
lst.sort();

//降序排列
lst.sort(compare);
相关推荐
点云SLAM3 小时前
C++ 中的栈(Stack)数据结构与堆的区别与内存布局(Stack vs Heap)
开发语言·数据结构·c++·内存布局·栈数据结构·c++标准算法·heap内存分配
前端小L3 小时前
图论专题(六):“隐式图”的登场!DFS/BFS 攻克「岛屿数量」
数据结构·算法·深度优先·图论·宽度优先
-大头.3 小时前
Python数据结构之旅:09-图论基础——连接万物的网络
数据结构·图论
zz0723204 小时前
数据结构 —— 队列
数据结构
Bear on Toilet4 小时前
C++_Bug:现代写法拷贝构造中 swap 写法之小坑
数据结构·c++·bug
潼心1412o5 小时前
数据结构(长期更新)第8讲:队列
数据结构
fashion 道格6 小时前
C 语言希尔排序:原理、实现与性能深度解析
数据结构·算法·排序算法
如意猴6 小时前
实现链式结构二叉树--递归中的暴力美学(第13讲)
数据结构
初夏睡觉6 小时前
P1048 [NOIP 2005 普及组] 采药
数据结构·c++·算法
Zero不爱吃饭7 小时前
环形链表(C)
数据结构·链表