Array与List(数组和链表)的区别及其优缺点
Posted 程序猿是小贺
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Array与List(数组和链表)的区别及其优缺点相关的知识,希望对你有一定的参考价值。
Array与List(数组和链表)的区别及其优缺点
数组优点
- 元素存储时在物理上(内存)是连续的。
- 由于数组连续,可以通过下标进行直接访问数据。
- 查找效率为O(1)。
数组缺点
- 数据插入和删除时效率低下,该数据后面的元素都需要后移或者前移。
- 数组需要预留空间,可能会造成内存浪费。
- 要定义数组首先要有一段足够长的连续空间
- 并且数组大小是固定的,不支持动态的扩展,要是空间不足则需要重新开辟更大的数组。
链表优点
- 链表的元素在物理(内存)上不连续,在逻辑上连续(是通过指针联系在一起)的。
- 链表的插入和删除操作非常方便,改变指针即可。
- 不需要连续的内存空间,内存利用率高,而且不需要指定链表的大小。
链表缺点
- 不支持随机查找,必须要从第一个开始遍历,查找效率低。
以上是关于Array与List(数组和链表)的区别及其优缺点的主要内容,如果未能解决你的问题,请参考以下文章