队头指针指向的地方为什么没有元素
任娜 圈内达人 2016-08-05 10:10:22
4773 2 0

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

问题来自: 队列

共 2 个回答

    赛赛 进阶大师 1462天前



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

    最佳答案

    纪念& 资深达人 1462天前

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

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

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

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

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

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


    满意请采纳,谢谢!

您还没有登录,所以不能回复该问题