问题 单项选择题

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

A.p↑.rlinkt↑llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;

B.p↑.llinkl↑.rlink:=q;p↑. llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;

C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlinkl.llink:=q;p↑.rlink:=q↑;

D.q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑,llink:=q;

答案

参考答案:C

解析: 如果在链表的每个结点中包括两个指针域,其中rlink指向结点的后继,llink指向结点的前驱,就可以方便地进行向后和向前两个方向的查找。这样的链表称作双链表。在双链表中,如果要在P所指结点后插入q所指的新结点,只需修改P所指结点的rlink字段和原后继的llink字段,并置q所指结点的llink和rlink值.即:
q↑.llink:=p;q↑.rlink:=p↑riink;p↑.riink↑.rlink:=q;p↑.rlink:=q

单项选择题 A1/A2型题
判断题