设指针变量p指向单链表中的结点A,现在需要删去结点A,有哪些步骤,可以给我画个图让我明白些吗?急求答案!!
从head节点开始搜索,找到A的前驱节点B,即B→next=A
将A的前驱节点的后继节点修改为A的后继节点
即B→next=A→next
释放A占用的空间,即free(A)
答案不是这样的😭😭。。这个题目好麻烦啊
追答这就是具体步骤,不知道你想问什么
追问这不是具体步骤,具体步骤我发给你看下,我也不懂,看看你懂不,明天就要考试了
这个才是
追答看来你真的是什么都没搞明白,我建议你去重新复习一遍指针和链表的操作
这一段命令是针对已经定位到节点A而言的,而我说的是删除某个节点的一般步骤
你的步骤是一个技巧做法,要求p不是尾节点,操作就是把p的后继节点赋给p,然后把p的后继节点删除,这样相当于删除了p,这种方法不用从头开始搜整个表。
每一步很容易理解
q=p→next //新建一个指针q指向p的后继
p→data=q→data //把p的后继节点的数值赋给p
p→next=q→next //把p的后继节点修改为p的后继节点的后继节点
free(q) //删除p的后继节点
谢了。。真心谢谢