题目
【单选题】在一个以L为头指针的单循环链表中,p指针指向链尾的条件是()。A. p->next==LB. p->next==NULLC. p->next->next==LD. p->data=-1
【单选题】在一个以L为头指针的单循环链表中,p指针指向链尾的条件是()。
A. p->next==L
B. p->next==NULL
C. p->next->next==L
D. p->data=-1
题目解答
答案
A. p->next==L
解析
单循环链表的结构特点是:链尾节点的next指针指向头节点L,而非空。因此,判断p是否指向链尾的关键在于验证其后继是否为头节点。选项中需排除指向空(B)、间接指向头节点(C)或依赖数据域(D)的情况。
选项分析
选项A:p->next == L
- 链尾节点的定义:在单循环链表中,链尾节点的
next指针指向头节点L。 - 结论:若
p->next == L成立,则p指向链尾节点。
选项B:p->next == NULL
- 错误原因:单循环链表中链尾节点的
next不为空,而是指向头节点。因此该条件描述的是线性链表的链尾特征,与题意不符。
选项C:p->next->next == L
- 错误原因:若
p->next->next == L,则p指向的是倒数第二个节点(此时p->next才是链尾)。该条件无法直接判断p是否为链尾。
选项D:p->data == -1
- 错误原因:题目未说明链尾节点的数据域为
-1,因此不能通过数据域判断链尾位置。