数组的特点:
- 在内存中,数组是一块连续的区域。
- 数组需要预留空间,在使用强要先申请占内存的大小,可能会浪费内存空间。
- 插入数据和删除数据效率低
- 随机读取效率很高
- 不利于扩展,数组定义的空间不够时要重新定义数组。
链表的特点:
- 在内存中可以存在任何地方,不要求连续。
- 每一个数据都保存了下一个数据的内存地址,通过这个地址找到下一个数据
- 增加数据和删除数据很容易
- 查询数据时效率很低
- 不指定大小,扩展方便
数组 | 链表 | |
读取 | O(1) | O(n) |
插入 | O(n) | O(1) |
删除 | O(n) | O(1) |