问题
单项选择题
若某线性表中最常用的操作是在最后一个元素之前插入和删除元素,则采用()最节省运算时间。
A.单链表
B.仅有头指针的单循环链表
C.仅有尾指针的单循环链表
D.双链表
答案
参考答案:D
解析:
链式存储有:单链表(线性链表)、循环链表、双向链表。 单链表从链表的第一个表元开始,将线性表的节点依次存储在链表的各表元中。链表的每个表元除要存储线性表节点信息外,还要一个成分用来存储其后继节点的指针。 循环链表是单链表的变形,其特点是表中最后一个节点的指针域指向头节点,整个链表形成一个环。 因此,从表中的任意一个节点出发都可以找到表中的其他节点。循环链表中,从头指针开始遍历的结束条件不是节点的指针是否为空,而是是否等于头指针。为简化操作,循环链表中往往加入表头节点。 双向链表的节点中有两个指针域,其一指向直接后继,另一指向直接前驱,克服了单链表的单向性的缺点。