随机访问:
1.数组的随机访问问题引入:
1.1.为什么说是数组的随机访问呢而不说是链表呢?
1.2.那随机访问到底是一个怎样的过程呢?
2.问题1.1答案(具体理解看问题2):
2.1.随机访问的必要条件:
数据在内存一段区域连续存储,数组是而链表不是。
2.2.随机访问的条件:
3.问题1.2答案:
3.1.数组的结构和随机访问的过程:
3.2.链表的结构:
4.总结:
由上面可知即使你知道链表的首地址和每个单元的大小,但由于两个单元之间不是连续存储的,不知道两个单元之间的内存大小,无法跟数组一样直接通过用户给出一个index通过公式直接计算内存地址(其他数据诸如数组单元大小和首地址系统已知)。这就导致了即使LinkedList有index也只能从头遍历,而不是通过公式计算出地址到内存去取数据。