问题
单项选择题
双链表的每个结点包括两个指针域,其中rlink指向结点的后继,llink指向结点的前驱。如果要在指针p所指结点后插入指针q所指的新结点,下面哪一个操作序列是正确的?()
A.q↑.llink:=p;q+.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;
B.q↑.rlink:=p;q+.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;
C.p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;
D.p↑.11ink↑.rlink:=q;p↑.1link:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;
答案
参考答案:A
解析:
如果要在p所指结点后插入q所指的新结点,只需修改p所指结点的rlink字段和原后继的llink字段,并置q所指结点的llink和rlink值,即:
q↑.llink:=p;
q↑.rlink:=p↑.rlink;
p↑.rlink↑.llink:=q;
p↑.rlink:=q;