工学

判断题在非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:llink(p)←q,rlink(p)←rlink(q),rlink(q)←p,llink(rlink(q))←p。A 对B 错

题目
判断题
在非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:llink(p)←q,rlink(p)←rlink(q),rlink(q)←p,llink(rlink(q))←p。
A

B

参考答案和解析
正确答案:
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

假设双链表结点的类型如下: Typedef struct linknode {int data; /*数据域*/ struct linknode *llink; /*llink是指向前驱结点的指针域*/ struct linknode *rlink; /*rlink是指向后续结点的指针域*/ }bnode 下面给出的算法段是要把一个q所指的新结点作为非空双向链表中的p所指结点的前驱结点插入到该双链表中,能正确完成要求的算法段是(32)。

A.q->rlink=p;q->llink=p->llink;p->llink=q;p->llink->rlink=q;

B.p->llink=q;q->rlink=p;p->llink->rlink=q:q->llink=p->llink;

C.q->llink=p->llink:q->rlink=p;p->llink->rlink=q;p->llink=q;

D.以上都不对


正确答案:C
解析:本题考查链表的操作问题。在链表中插入一个结点时,首先需要确定插入的位置,题目中是插入在p结点前面,因此,需要把插入结点q的rlink指向p,q的llink指向p的llink。然后,需要把p的llink指向q,p的前驱结点的rlink也指向q。

第2题:

双链表的每个结点 包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下面操作序列正确的是( )。A.p↑.rlink↑.llink:q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:p↑.rlink;B.p↑llink↑.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;


正确答案:C
设p所指结点为A,q所指结点为B,将A结点的右指针指向B结点,B结点的左指针指向A结点,右指针指向A结点原来的下一结点(设为C),C结点左指针指向B结点。

第3题:

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

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

B ) p ↑ . llink ↑ .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 ;


正确答案:D

第4题:

在非空双向循环链表结点中,prior域指向该结点的直接前驱,next域指向直接后续,那么在q所指的结点后面插入p所指的结点的过程为______。

A.q→next=p;p→prior=q;q→next→prior=p;p→next=q→next。

B.p→next=q→next;q→next=p;q→next→prior=p;p→prior=q。

C.p→prior=q;p→next=q→next;q→next=p;q→next→prior=p。

D.p→next=q→next;q→next→prior=p;p→prior=q;→next=p。


正确答案:D

第5题:

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

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

B.p↑.llink↑.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↑.1link↑.rlink:=q;p↑.llink:=q;


正确答案:C
解析:在双链表中,如果要在P所指节点后插入q所指的新节点,只需修改P所指节点的rlink字段和原后继的llink字段,并置q所指节点的llink和rlink值。即:
  q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.rlink:=q;p↑.rlink:=q。

第6题:

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

A) q↑.rlink:=p; q↑.llink:=p↑.llink; p↑.rlink↑.rlink:=q; p↑.11ink:=q;

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

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

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


正确答案:B
在双链表中,如果要在P所指结点后插入q所指的新结点,只需修改P所指结点的rlink字段和原后继的llink字段,并置q所指结点的llink和rlink值。即q↑.llink:=p;q↑.rlink:=p ↑.rlink;p ↑.rlink ↑.llink:=q;p ↑.rlink:=q。

第7题:

在双向循环链表中,在p指针所指向的结点前插入一个指针q所指向的新结点其修改指针的操作是( )。(双向链表的结点结构是llink,data,rlink)

A: p->llink=q;q->rlink=p;p->llink->rlink=q;q->llink=q;

B: p->llink=q; p->llink->rlink=q; q ->rlink=p;q->llink= p->llink;

C: p->llink=q; q->llink= p->llink; p->llink->rlink=q;p->llink=q;

D: q->llink= p->llink;q->rlink=p; p->llink =q;p->llink=q;


正确答案: C

第8题:

双链表的每个结点包括两个指针域。其中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

第9题:

在双向循环链表中,在P指针所指向的结点前插入一个指针q所指向的新结点,其修改指针的操作是(55)。

A.P->llink=q;q->rlink=p;P->llink->rlink=q;q->llink=p;

B.P->llink=q;P->llink->rlink=q;q->rlink=p;q->llink=p->llink;

C.q->rlink=p;q->liink=p->llink;P->llink->rlink=q;P->llink=q;

D.q->llink=p->llink;q->rlink=p;P->llink=q;P->rlink=q;


正确答案:C
解析:这里应是先将;的左右指针设定,即q的左指针赋为p的左指针,q的右指针赋为p,这两步可以互换;然后将p的左指针指向的结点的右指针赋为q;最后将p的左指针赋为qo所以应选Co

第10题:

【题目描述】

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

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

B)p↑.1link↑.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;

 

 

 


正确答案:D

 

更多相关问题