在非空双向循环链表中由q所指的那个链结点后面插入一个p指的链结点

题目

在非空双向循环链表中由q所指的那个链结点后面插入一个p指的链结点的动作对应的语句依次为:p->llink=q; p->rlink=q->rlink; q->rlink=p;()。(空白处为一条赋值语句)

  • A、q->llink=p;
  • B、q->rlink->llink=p;
  • C、p->rlink->llink=p;
  • D、p->llink->llink=p;
参考答案和解析
正确答案:C
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第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题:

在非空双向循环链表结点中,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

第3题:

在一个单链表中p所指结点(p所指不是最后结点)之后插入一个由指针s所指结点,应执行s->next=_______;和p->next=________的操作。


参考答案:p->next;s

第4题:

单向链表的链域为next,设指针p指向单向链表中的某个结点,指针S指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p->next==s;s->next==p->next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写。

第5题:

在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。

A.q一>next=p一>next;p一>next=q;

B.q一>next=p一>next;p一>next=q;

C.p一>next=q一>next;q=p;

D.p一>next=q一>next;q一>next=p;


正确答案:D

第6题:

在双向循环链表中,在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

第7题:

在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行下面哪条语句?( )

A.q->next=p->next;p=q

B.p->next=q->next;q=p

C.q->next=p->next;p->next=q

D.p->next=q->next;q->next=p


正确答案:D
解析:在一个单链表中插入一个元素,首先要生成一个指针p指向的结点,选项D中的第一条语句让插入位置之后的元素称为其后继结点,后一条语句使p称为q的后继结点,同时断开之前p的后继结点与p的联系。

第8题:

下列关于链表结构的叙述正确的是( )

A.线性链表、带链的栈和带链的队列的结点的结构都是相同的

B.双向链表也就是循环链表

C.线性链表与带链的栈的结点的结构是不同的

D.在循环链表中通过任意一个结点可以找到链表中其他所有的结点,而在双向链表中做不到这一点


正确答案:A

第9题:

在双向循环链表中,在p所指的结点之后插入指针f所指的新结点,其操作步骤是()。


答案:D
解析:
在双向循环链表中。在p所指的结点之后插入指针f所指的新结点的操作步骤为:改变f的前驱指针域,使其指向p;然后改变f的后继指针域,使其指向p的后继;接下来修改p的后继结点得前驱指针域,指向f,最后将f的地址付给p的后继指针。具体操作为:f—>pnor=p;f—>next=p—>next;p—>next—>prior=f;P—>next=f。

第10题:

在非空线性链表中由p所指的结点后面插入一个由q所指的结点的过程是依次执行()。

  • A、q->link=p; p->link=q;
  • B、q->link=p->link; p=q;
  • C、q->link=p->link; p->link=q;
  • D、p->link=q; q->link=p;

正确答案:C

更多相关问题