双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下面哪一个操作序列是正确的?

admin2009-01-19  32

问题 双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下面哪一个操作序列是正确的?

选项 A、p↑.rlinkt↑llink:=q;p↑.rlink:=q;q↑.llink:=p:q↑.rlink:=p↑.rlink;
B、p↑.llinkt↑rlink:=q;p↑.llink:=q:q↑.rlink:=p;q↑.llink:=p↑.llink;
C、q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;
D、q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q:p↑.llink:=q;

答案4

解析 本题考查向双链表中插入结点的操作。如果要在p所指结点后插入q所指的新结点,只需修改p所指结点的rlink字段和原后继的llink字段,并置q所指结点的llink和rlink值.即
q↑.llink:=p;将q的llink指针指向p
q↑.rlink:=p↑.rlink;
将q的rlink指针指向原p的后继
p↑.rlink↑.llink:=q;
将原p的后继的llink指针指向q
p↑.rlink:=q;将p的rlink指针指向q
因此本题的答案为C。
转载请注明原文地址:https://jikaoti.com/ti/FEQ7FFFM
0

相关试题推荐
最新回复(0)