一般情况下,链队列的出队操作为什么要删除头结点而不是队头结点?
链队列的出队操作有两种不同情况要分别考虑。(1)当队列的长度大于1时,则出队操作只需要修改头结点的指针域即可,尾指针不变。(2)若列队长度等于1时,则出队时不仅要修改头结点指针域,而且还需要修改尾指针。为了使得在长度等于1和长度大于1的情况下处理操作一致,可以改进出队算法,使得出队时只修改头指针,删除队列头结点(不是队头结点),使链队列的队头结点成为新的链队列的头结点。
一般情况下,链队列的出队操作为什么要删除头结点而不是队头结点?
链队列的出队操作有两种不同情况要分别考虑。(1)当队列的长度大于1时,则出队操作只需要修改头结点的指针域即可,尾指针不变。(2)若列队长度等于1时,则出队时不仅要修改头结点指针域,而且还需要修改尾指针。为了使得在长度等于1和长度大于1的情况下处理操作一致,可以改进出队算法,使得出队时只修改头指针,删除队列头结点(不是队头结点),使链队列的队头结点成为新的链队列的头结点。