双向循环链表结点的数据类型为: <img src="//img.examk.com/exam/g/r/fpxmCAHi2CC2dteKv8s5iqQzHaqH4QlB.jpg"> 设p指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作()。

题目
双向循环链表结点的数据类型为: 设p指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作()。

Aprintf(“%d”,p->next->data);

Bprintf(“%d”,p->prior->data);

Cprintf(“%d”,p->prior->next);

Dprintf(“%d”,p->data);

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用的语句是()。

A.p=q->next

B.p->next=q

C. p->next=q->next

D.q->next=NULL


参考答案C

第2题:

在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是p所指结点的直接后继,现要删除q所指结点,可用语句( )。

A、p->next=q->next

B、q->next=NULL

C、p->next=q

D、p=q->next


标准答案:A

第3题:

●对于单链表,如果仅仅知道一个指向链表中某结点的指针p, (54) 将p所指结点的数据元素与其确实存在的直接前驱交换,对于单循环链表来说 (55) ,而对双向链表来说 (56) 。

(54) ~(56) A.可以

B.不可以

C.不确定

D.仅能一次


正确答案:B,A,A
【解析】单链表和单循环链表的结点结构为:date、next
双向链表的结点结构为:prior、date、next
①单链表。②单循环链表。③双向链表。
(1)从单链表中的p结点出发,找不到它的直接前驱,因此不能与其直接前驱交换。
(2)从单循环链表中的p结点出发,可以找到其直接前驱,因此,可以与其直接前驱结点交换数据。程序段如下:
q=p->next;
while(q->next!=p)
q=q->next;
temp=p->data;
p->data=q->data;
q->data=temp;
(3)从双循环链表中的p结点出发,可以找到其直接前驱,因此,可以与其直接前驱结点交换数据。程序段如下:
temp=p->prior->data;
p->prior->data=p->data;
p->data=temp;

第4题:

(C语言)在头指针为head且表长大于1的单循环链表中,指针p指向表中英雄模范个结点,若p->next->next=head,则

A、p指向头结点B、p指向尾结点

C、*p的直接后继是头结点D、*p的直接后继是尾结点


正确答案:
      

第5题:

要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行q->next= p->next。()

此题为判断题(对,错)。


标准答案:对

第6题:

已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。


参考答案:
  知道双向循环链表中的一个结点,与前驱交换涉及到四个结点(p结点,前驱结点,前驱的前驱结点,后继结点)六条链。
  [算法描述]
  void Exchange(LinkedList p)
  ∥p是双向循环链表中的一个结点,本算法将p所指结点与其前驱结点交换。
  {q=p->llink;
  q->llink->rlink=p; ∥p的前驱的前驱之后继为p
  p->llink=q->llink; ∥p的前驱指向其前驱的前驱。
  q->rlink=p->rlink; ∥p的前驱的后继为p的后继。
  q->llink=p; ∥p与其前驱交换
  p->rlink->llink=q; ∥p的后继的前驱指向原p的前驱
  p->rlink=q; ∥p的后继指向其原来的前驱
  }∥算法exchange结束。

第7题:

设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作p->next=head。()

此题为判断题(对,错)。


标准答案:对

第8题:

●在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p→*next→*next=head,则 (55) 。

(55) A.p指向头结点

B.p指向尾结点

C.*p的直接后继是头结点

D.*p的直接后继是尾结点


正确答案:D
【解析】因为循环链表的尾结点的指针域中存放的是头指针,而尾结点由其直接前驱结点的指针域所指向,因此,当指针p指向尾结点的直接前驱结点时,满足关系式p->next->next=head。

第9题:

某单循环链表头指针为head且表长大于1,指针p指向表中某个结点,若p→next→next= head,则(11)。

A.p指向头结点

B.p指向尾结点

C.*p的直接后继是头结点

D.*P的直接后继是尾结点


正确答案:D
解析:因为p→next→next=head,所以p→next是尾结点,即*P的直接后继是尾结点。

第10题:

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

更多相关问题