软考题目之头结点、头指针和首元节点

遇到一个让人迷惑的题目。

以下关于线性表采用链式存储时删除节点运算的描述,正确的是()

A.带头结点的线性链表删除结点时,不需要更改头指针。

B.带头结点的线性链表删除第一个结点时,需要更改头指针。

C.不带头结点的线性链表删除结点时,需要更改头指针。

D.不带头结点的线性链表删除第一个结点时,不需要更改头指针。

首先,明确几个概念。

首元结点:指链表中存储第一个数据元素a1的结点。

头结点:是为了操作方便在首元结点前复设的结点。

头指针:指向链表中第一个结点(或为头结点或为首元结点)的指针。

 

因为头结点是不能被删除的,而带头结点的线性链表的第一个结点就是头结点,所以B的说法错误,而A正确。

 

因为不带头结点的线性链表只有在删除第一个节点,即首元结点时,需要更改头指针。如果删除其他结点,则不需要更改头指针。

所以C、D均错误。

 

posted @ 2016-03-02 21:16  沐一  阅读(1237)  评论(0编辑  收藏  举报