字典翻译 问答 其它 【问题之数据结构链表双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一】
问题标题:
【问题之数据结构链表双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一】
问题描述:

问题之数据结构链表

双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结

点,现要求删去p所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点)

A.p^.llink^.rlink:=p^.llink;p^.llink^.rlink:=p^.rlink;dispose(p);

B.dispose(p);p^.llink^.rlink:=p^.llink;p^.llink^,rlink:=p^.rlink;

C.p^.llink^.rlink:=p^.llink;dispose(p);p^.llink^.rlink:=p^.rlink;

D.以上A,B,C都不对。【南京理工大学1997一、1(2分)】

答案是D,但A为什么就错了呢?

唐文明回答:
  A选项p^.llink^.rlink:=p^.llink;p^.llink^.rlink:=p^.rlink,都是给p^.llink^.rlink赋值,第一个赋值是让p的前驱节点的rlink指向p的前去节点,也就是指向了自身,这个没有任何意义。第二个赋值是让p的前驱接点的rlink指向p的后继节点,这个有意义。
点击显示
其它推荐
热门其它推荐
  • 其它