之前学习的动态数组,栈,队列的底层都是依托静态数组,靠resize解决固定容量的问题
而链表是真正的动态数据结构且是最简单的动态数据结构
链表涉及更深入的理解引用(指针)
有递归结构
功能性:辅助组成其他数据结构
数据存储在"节点"(Node)中
class Node{
E e;//存储真正的数据
Node next;//指向当前节点的下一个节点
}
结论:
优点:链表是一个真正动态的数据结构,不需要处理固定容量的问题
缺点:丧失了随机访问的能力(链表是靠 next进行连接,每一个节点所在的内存是不同的)
数组和链表的对比
数组最好用于索引有语义的情况
最大的优点:支持快速查询
链表不适用于索引有语义的情况
最大的优点:动态