循环单链表la中,指针p所指结点为表尾结点的条件是什么?

如题所述

p!=NULL && p->next==head

尾结点是链表中的最后一个节点,一般尾结点的指针的指向为空。当单链表的插入方式为尾插法时,尾结点的指针指向不为空,即尾结点变为中第一个节点,链表中有个尾指针指向尾结点。

第1个被创建的结点为整个链表的尾结点。根据单向链表的特点,它的指针应指向空。同时,链表中只有1个结点,因此这个结点也是已经生成链表的首结点。并用一个专门的指针指(在此用h)向这个临时的首结点。



扩展资料:

每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问前驱结点和后继结点。一般我们都构造双向循环链表。

在链表的第一个结点之前附设一个结点。在单链表中,尾结点的指针一般为空,即没有保存其他节点的存储位置信息。但在双向链表中,尾结点一般指向链表中第一个节点。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-12-17
p!=NULL && p->next==head本回答被提问者采纳
第2个回答  2008-12-17
所指其实为表位节点的后一个
表头指针所指也为表头节点的前一个
相似回答