数据结构(C语言)题:循环单链表L中,指针P所指结点为尾结点的条件是( )。

如题所述

如果存在空头结点:

p->next

head

->next

如果不存在空头结点:

p->next

head

判断空链表的条件是:

head==head->next;

rear==rear->next;



扩展资料:

用尾指针rear表示的单循环链表对开始结点a1和终端结点an查找时间都是O(1)。而表的操作常常是在表的首尾位置上进行,因此,实用中多采用尾指针表示单循环链表。

在单链表中,从一已知结点出发,只能访问到该结点及其后续结点,无法找到该结点之前的其它结点。而在单循环链表中,从任一结点出发都可访问到表中所有结点,这一优点使某些运算在单循环链表上易于实现。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-13
如果存在空头结点(head指向的结点只存放head->next的指针,不储存值)
p->next == head ->next
如果头结点非空(head指向的结点不仅存放head->next的指针,也储存值)
p->next == head本回答被提问者采纳
第2个回答  2009-08-13
如果是静态链表,直接计数就可以了。
如果是动态链表:可以用一个记录指针,一直指向循环链表的头节点,当p移向下一个节点时,先判断下一个节点是否为头节点。
也可以不用记录指针,根据头节点的值,或者给一个标志(比如说把头节点的值设置成负的)来判断p的下一个节点是否为头节点。
第3个回答  2009-08-13
p->next == L.head;
第4个回答  2009-08-13
p->next==NULL
相似回答