在双向循环链表中(),在p指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是()。()注():双向链表的结点结构为(llink,data,rlink)。()供选择的答案:A.()p↑.llink
=p;()p↑.llink↑.rlink
举一反三
- 双链表的每个结点包括两个指针域,其中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;
- 在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()。
- 在双向链表存储结构中,删除p所指的结点的前趋结点(若存在)时需修改指针( ) A: ((p->llink) ->llink) ->rlink=p; p->llink=(p->llink) ->llink; B: ((p->rlink) ->rlink) ->llink=p; p->rlink=(p->rlink) ->rlink; C: (p->llink) ->rlink=p->rlink; (p->rlink) ->llink=p->llink; D: p->llink=(p->llink) ->llink; ((p->llink) ->llink) ->rlink=p;
- 在双向链表中,每个结点设置两个指针,一个为左指针(Llink),用以指向其;另一个为右指针(Rlink),用以指向其。
- 双向循环链表中,在p所指结点的右侧插入指针s所指结点,其操作是____。
内容
- 0
已知一个单链表中,指针q指向指针p的前驱结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行( )
- 1
在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是____。
- 2
在双向链表存储结构中,删除p所指的结点的前趋结点(若存在)时需修改指针( ) A: ((p->llink) ->llink) ->rlink=p; p->llink=(p->llink) ->llink; B: ((p->rlink) ->rlink) ->llink=p; p->rlink=(p->rlink) ->rlink; C: (p->llink) ->rlink=p->rlink; (p->rlink) ->llink=p->llink; D: p->llink=(p->llink) ->llink; ((p->llink) ->llink) ->rlink=p;
- 3
设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为p>llink->rlink=p->rlink; p->rlink->llink=p->rlink(设结点中的两个指针域分别为llink和rlink)。
- 4
设双向循环链表中结点的结构为(data, prior, next)。若想在指针p所指结点之后插入指针s所指结点,则应执行下列哪一个操作?