第 2 题
用链表方式存储的队列(有头尾指针非循环),在进行删除运算时( )。
A. 仅修改头指针 B. 仅修改尾指针 C. 头、尾指针都要修改 D. 头、尾指针可能都要修改
[tag_link]
正确答案:D
在链表方式存储的队列中,头指针指向队头节点,尾指针指向队尾节点,且为非循环链表。 进行删除运算时,通常从队头删除节点。
如果队列中有多个节点,删除队头节点后,只需修改头指针指向下一个节点,尾指针保持不变,因为队尾节点未变。 如果队列中只有一个节点,删除后队列为空,此时需要将头指针和尾指针都修改为 NULL,表示队列为空。
因此,删除操作中头指针总是需要修改,而尾指针仅在队列变空时需要修改,否则不变。 这意味着头、尾指针可能都要修改,也可能只修改头指针,故选项 D 正确。