全部问题 > 当前问题

队头指针指向的地方为什么没有元素

为什么队列中队尾指向3,队头指向5,为什么只有两个元素,不是3个元素,队头指针指向的地方为什么没有元素

任娜 2016-8-5 10:10:22

共 2 个回答

赛赛 2016-8-5 10:23:27



亲,你看这个是老师上课讲的,我给你截屏下来了呢,咱们算元素的时候是用队尾减去队头,但是当队尾数字小于对头数字的时候,应该按照图片里的方法进行计算,你这道题目答案应该是8.一看你就懂了。满意请采纳,谢谢亲的支持!≥^.^≤

最佳答案

纪念& 2016-8-5 11:08:03

       这是因为这里的队列是循环的,而在队列中有进来的也有出去的,而且队列遵循的原则是先进先出(与栈是不同的哦), 所以就会出现队头大于队尾、队尾大于队头、队尾等于队头这样的情况,这里你就可以套用下面的公式简单快捷的得出所要求的答案了!

公式:1、当队尾>队头,队列中元素个数为:“队尾-队头”

          2、当队尾>队头,队列中元素个数为:“队尾-队头+队列容量”。

          3、当队尾=队头,队列为:空或满。

你所说的这道题中队头=5,队尾=3,队头>队尾,对应上面的公式就可算出答案了!

你要问的“队头指针指向的地方为什么没有元素”这也正是我第一段所解释的因为课件中这里重点学习的是“循环队列”的原因,因为在队列中有进来的也有出去的,而且队列遵循的原则是先进先出, 所以就会出现队尾>队头的情况(循环的)所以队头指针指向的地方为什么没有元素(不过这只是针对这道题哦,有的队头指针指向的地方也是队尾指针的所在,即有元素,这时就是公式的第三种情况了哦)。


满意请采纳,谢谢!

问题来自: 队列