已知带表头结点的单链表L, 指针P指向L链表中的一个结点(非首、尾结点): 删除P结点的语句序列是?

如题所述

首先必须先保存待删除结点P的前一结点,假设为Q

然后:Q->next=P->next;

//Q的下一结点为P指向的下一结点,即把P从链表中分离了

//然后再把P结点删除,释放内存。

扩展资料

程序顺序执行时的特征

(1) 顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在上一个操作结束之后开始。

(2) 封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变它。 程序一旦开始执行, 其执行结果不受外界因素影响。

(3) 可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。程序顺序执行时的特性,为程序员检测和校正程序的错误带来了很大的方便。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-26
嘿嘿,偷梁换柱,将p->next 的内容copy到p;定义中间变量指针指向p->next;然后将p->next=p>next->next;free(temp);看似简单,不容易想到本回答被提问者采纳
第2个回答  2010-09-26
首先必须先保存待删除结点P的前一结点,假设为Q

然后:Q->next=P->next;
//Q的下一结点为P指向的下一结点,即把P从链表中分离了
//然后再把P结点删除,释放内存
第3个回答  2010-09-26
嗯,小猪 的方法很独特呢。。呵呵不错啊。。。