- list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。
- list的底层是用双向链表实现的(线性),每个元素都存在相互独立的节点中,每个节点都有一个指针分别指向前一个节点和后一个节点。
- 因为底层结构是链表,list的插入和删除操作是非常高效的,这与vector容器相反。但是由于链表的结构特点,list的各个节点之间的物理地址是不连续的,也就导致了任意访问某个节点的效率较低。
- list的空间消耗会比vector大(存储相同个数的元素),因为每个节点还需要给前后指针开空间。
相关文章
- C++ STL之list的使用及模拟实现
- JSONP跨域的原理解析及其实现介绍
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- 跳跃表Skip List的原理和实现
- Java 常用数据结构对象的实现原理 集合类 List Set Map 哪些线程安全 (美团面试题目)
- Java中集合框架,Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的JDK源码分析底层实现
- python pow函数的底层实现原理介绍
- Python 列表(List)的底层实现原理分析
- 关于java中list和set底层实现的问题
- ARM Cortex-M底层技术(五)编译器编译内核原理以及其应用的简单介绍