声明:本文参考郝斌老师的自学数据结构视频,方便自己回忆知识点,也为需要帮助的朋友们学习交流。
上图中的链表有三个节点,现在要做的就是将地址为 Q 的节点插入 P和 M之间。有两种方法:
方法一:
M = P -> pNext ;
P -> pNext = Q;
Q -> pNext = M;
这种方法是首先要将 P ->pNext 中存放的下一个节点的地址放入一个指针变量 r 中(这样做是为了防止在以后的处理中防止节点 M 的地址丢失)。然后将 Q 的内容放入P->pNext变量中,使节点P指向Q了。然后使节点Q指向M,即M 的内容赋给Q->pNext。
方法二:
Q->pNext = P->pNext;
P ->pNext = Q;
这种方法和第一种方法其实是相同的,只是为了防止节点P的地址丢失,没有把节点P 的地址赋给别的指针变量,而是先将节点Q的指针域(即下一个节点的地址)指向了下一个节点,而下一个节点的地址就存在在P->pNext中。所以会有代码Q->pNext = P->pNext; 然后使节点P连接节点Q,即P ->pNext = Q。