数组
使用场景
数组在以下三个情形下很有用:
1)数据量较小。
2)数据规模已知。
3)随机访问,修改元素值。
如果插入速度很重要,选择无序数组。如果查找速度很重要,选择有序数组,并使用二分查找。
数组的优点
- 随机访问性强
- 查找速度快
数组的缺点
- 插入和删除效率低
- 可能浪费内存
- 内存空间要求高,必须有足够的连续内存空间。
- 数组大小固定,不能动态拓展
链表
解决的问题
链表的出现解决了数组的两个问题:
1)需要预先知道数据规模
2)插入效率低
使用场景
1)数据量较小
2)不需要预先知道数据规模
3)适应于频繁的插入操作
缺点
1)有序数组可以通过二分查找