早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

循环链表的主要优点是(6)。A.不再需要头指针了B.已知某个结点的位置后,能很容易地找到它的直接前

题目

循环链表的主要优点是(6)。

A.不再需要头指针了

B.已知某个结点的位置后,能很容易地找到它的直接前驱结点

C.在进行删除操作后,能保证链表不断开

D.从表中任一结点出发都能遍历整个链表

参考答案
正确答案:D
解析:本题考查循环链表的基础知识,所以我们来了解一下什么是循环链表。一个带头结点的线性链表如图4-3所示。若将此链表的最后一个结点d的next域指向头结点,则形成了循环链表,如图4-4所示。对照图4-4,我们现在来分析题目的备选答案。选项A“不再需要头指针了”,言下之意就是线性链表一定需要头指针,但实际上不管是非循环的线性链表还是循环链表,头指针都是可要可不要的,所以选项A错误。再来看B选项,“已知某个结点的位置后,能很容易地找到它的直接前驱结点”,题目中只说是循环链表,没有说是双向的循环链表,在单向循环链表中,已知某个结点的位置很难得到它的直接前驱结点,所以B选项不对。接着看C选项,“在进行删除操作后,能保证链表不断开”。在进行结点删除操作后,原则上链表都是断开的,关键是靠删除算法来保证其不断开,与是否循环没有关系。所以也不正确。其实,到这里我们已经知道答案为D了,但我们还是看看D到底对不对。D选项是这样的:“从表中任一结点出发都能遍历整个链表”。我们首先看看在非循环的线性链表中,是否能满足这个要求。以图4-3线性链表中c为例,c只能往向走到d,然后d的next域为空,无路可走,所以非循环的线性链表无法满足这个要求。再看循环链表图4-4,无论从哪一点出发,都可以到达任一结点,因为所有的结点围成了一个圈。