单链表的删除并返回下标问题

问题描述:编写一个单链表的成员函数,实现删除带头结点的单链表中数据域值等于x第1个结点的操作

涉及变量:temp:Node型变量,用于移动寻找所要删除的数据元素的指针

                 position:Node型变量,标记temp的前驱,

                 j:int型变量,下标的计数

涉及教材:《数据结构——Java语言描述(第2版)》

思路:temp用于移动来寻找与X相比数据值相同的结点,position用于标记该结点的前驱结点

 若与X数据值相同的为首结点,即删除首结点(temp!=null&&position==null)的情况下,直接将头结点指向首结点所在的下一个结点

 若所删除的结点并非首结点,则将该结点的前驱结点指向该结点的后继结点,即删除算法的核心

代码如下:

以上是我对单链表删除的衍生问题的一点看法,希望对各位有所帮助

190117 Rewivy

猜你喜欢

转载自www.cnblogs.com/rewivy/p/10284525.html