C++中的List简介:
C++中的List是一种序列式容器,List的功能和数据结构中的双向链表类似。
List中的数据元素是通过链表指针串连成逻辑意义上的线性表,同时也是List具有的链表的主要优点。
(在链表的任意位置进行元素的插入、删除操作都是快速的)
List实现的底层原理如下:
List的每一个节点有三个域
- 前驱元素指针域保存了前驱元素的首地址
- 数据域保存了本节点的数据
- 后继元素指针域则保存了后继元素的首地址(可以看成一个循环双链表)
将list和vector进行对比
vector:底层由数组实现,拥有一段连续的内存空间,并且起始点的地址不变。便于随机访问,时间复杂度为O(1),但因为内存空间是连续的,所以在进行插入删除操作的时候,会造成内