C++——STL之list详解
👀先看这里👈
😀作者:江不平
📖博客:江不平的博客
📕学如逆水行舟,不进则退
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
❀本人水平有限,如果发现有错误的地方希望可以告诉我,共同进步👍
🏐什么是list
list是一个顺序容器,支持常数时间(也就是O(1))内进行任意位置的插入删除,还支持双向迭代。
- list容器作为双向链表实现;双向链表可以将它们包含的每个元素存储在不同且不相关的存储位置。
- 与其他基本标准序列容器(array, vector and deque)相比, list在容器内已经获得迭代器的任何位置插入、提取和移动元素时通常表现更好,因此在大量使用这些元素的算法中也是如此,例如排序算法。
- 与其他序列容器相比,主要缺点是它们无法通过其位置直接访问元素;例如,要访问列表中的第六个元素,必须从已知位置(如开始或结束)迭代到该位置,这需要这些元素之间的距离的线性时间。它们还会消耗一些额外的内存来保持与每个元素关联的链接信息(这可能是大型小型元素列表的重要因素)。
🏐list的使用
🏀splice
我们来看一些之前的模板没出现的接口(都不怎么常用)
splice,接合的意思可以理解为转移,从一个链表转移到另一个链表的某个位置处。
🏀unique
去重的接口,