非循环单链表插入节点的伪算法解析

声明:本文参考郝斌老师的自学数据结构视频,方便自己回忆知识点,也为需要帮助的朋友们学习交流。

 非循环单链表插入节点的伪算法解析_第1张图片

上图中的链表有三个节点,现在要做的就是将地址为 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。






你可能感兴趣的:(数据结构学习笔记)