问题描述:编写一个单链表的成员函数,实现删除带头结点的单链表中数据域值等于x的第1个结点的操作
涉及变量:temp:Node型变量,用于移动寻找所要删除的数据元素的指针
position:Node型变量,标记temp的前驱,
j:int型变量,下标的计数
涉及教材:《数据结构——Java语言描述(第2版)》
思路:temp用于移动来寻找与X相比数据值相同的结点,position用于标记该结点的前驱结点
若与X数据值相同的为首结点,即删除首结点(temp!=null&&position==null)的情况下,直接将头结点指向首结点所在的下一个结点
若所删除的结点并非首结点,则将该结点的前驱结点指向该结点的后继结点,即删除算法的核心
代码如下:
以上是我对单链表删除的衍生问题的一点看法,希望对各位有所帮助
190117 Rewivy