为什么队列中队尾指向3,队头指向5,为什么只有两个元素,不是3个元素,队头指针指向的地方为什么没有元素
这是因为这里的队列是循环的,而在队列中有进来的也有出去的,而且队列遵循的原则是先进先出(与栈是不同的哦), 所以就会出现队头大于队尾、队尾大于队头、队尾等于队头这样的情况,这里你就可以套用下面的公式简单快捷的得出所要求的答案了!
公式:1、当队尾>队头,队列中元素个数为:“队尾-队头”
2、当队尾>队头,队列中元素个数为:“队尾-队头+队列容量”。
3、当队尾=队头,队列为:空或满。
你所说的这道题中队头=5,队尾=3,队头>队尾,对应上面的公式就可算出答案了!
你要问的“队头指针指向的地方为什么没有元素”这也正是我第一段所解释的因为课件中这里重点学习的是“循环队列”的原因,因为在队列中有进来的也有出去的,而且队列遵循的原则是先进先出, 所以就会出现队尾>队头的情况(循环的)所以队头指针指向的地方为什么没有元素(不过这只是针对这道题哦,有的队头指针指向的地方也是队尾指针的所在,即有元素,这时就是公式的第三种情况了哦)。
满意请采纳,谢谢!