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

admin2009-02-15  15

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

选项 A、可以
B、不可以
C、不确定
D、仅能一次

答案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;
转载请注明原文地址:https://kaotiyun.com/show/2CxZ777K
0

相关试题推荐
最新回复(0)