为啥判断队列是不是为空时只需比较队首指示和队尾指示是不是相等即可?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥判断队列是不是为空时只需比较队首指示和队尾指示是不是相等即可?相关的知识,希望对你有一定的参考价值。

java里直接一句话
return(front==rear);
如果队列里只有一个元素a,队首队尾正好是同一个元素,即元素a,用这句话怎么能判断队列为空呢?求大神指点。是不是队首队尾的概念理解有误?

参考技术A

队首指向第一个元素,队尾指向的是最后一个元素的 下一个位置,

如果队列里只有一个元素a,那么队首指向的是a,但队尾指向的是a的下一个位置。

参考技术B 不是,队列在front指向的是队列头部元素的下一个位置,所以并不是指向对列头部元素,它指的是一个空的位置。本回答被提问者和网友采纳

以上是关于为啥判断队列是不是为空时只需比较队首指示和队尾指示是不是相等即可?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中循环队列的队满和队空的判断条件各是啥?有啥不同?

算法---队列

第三章学习小结

栈队列算法题

数据结构与算法:双端队列

简单数据结构队列