JAVA数据结构——链表:引用赋值图解
链表
- 一、链表的原理
- 二、深入理解引用赋值
- 1. p = q
- 2. p = q.next
- 3. p.next = q
- 4. p.next = q.next
一、链表的原理
元素(element):真实存于线性表中的内容
结点(node):为了组织链表而引入的一个结构,除了保存我们的元素之外,还保存指向下一个结点的引用
class Node {
int val;//保存元素
Node next;//保存指向下一个结点的引用;尾结点的 next == null
}
当前结点(current / cur):表示链表中某个结点
前驱结点(previous / prev):表示链表中某个结点的前一个结点;头结点没有前驱结点
后继结点(next):表示链表中某个结点的后一个结点;尾结点没有后继结点
二、深入理解引用赋值
Node p = ...;//已知 p 是一条链表中的某个结点
Node q = ...;//已知 q 是一条链表中的某个结点
画图表示以下代码执行后的结果:
1. p = q
让 p 指向 q 目前指向的结点:
2. p = q.next
让 p 指向 q 当前指向的结点的后继结点:
3. p.next = q
让 p 指向的结点中保存的指向下一个结点的引用指向 q 当前指向的对象:
4. p.next = q.next
让 p 指向的结点中保存的指向下一个结点的引用指向 q 当前指向的结点的后继结点:
赞 (0)