循环队列的优点是什么?如何判断它的空和满?

详细点 非常感谢
2025-02-01 04:59:02
推荐回答(5个)
回答1:

(1)循环队列的优点是相对于直线队列来讲的,直线队列在元素出队后,头指针向后移动,导致删除元素后的空间无法在利用,即使元素个数小于空间大小,依然无法再进行插入,即所谓的“假上溢”。当变成循环队列之后,删除元素后的空间仍然可以利用,最大限度的利用空间。
(2)判断循环队列空和满有三种方法:第一,采用计数器来判断,空时,计数器为0,满时,计数器为maxsize;第二,另设一个布尔变量以匹别队列的空和满;第三,少用一个元素的空间,约定入队前,测试尾指针在循环意义下加1后是否等于头指针,若相等则认为队满(注意:rear所指的单元始终为空);

回答2:

看你怎么做了!1种多1个空间,m长的队列队头和队尾模m相差1就是空队尾到队头模m差1为满队头队尾永不相等!
一种记录队列中有多少成员,等于空间容量为满,一名成员也没有为空!队列和c没有多少关系,队列多半都采取这两种方案的一种,1)首尾指针法,2成员计数法!

回答3:

优点是队列满后不用进行麻烦的移位操作,判断空满在网上搜一搜一大堆的

回答4:

因为在入队列时尾指针向的是队列的下一个结点,即这个结点还不是队列的元素,所以出队列时当头指针=尾指针时队列已经为空了

回答5:

判空条件:Q.front==Q.rear
队满标志:Q.front==(Q.rear+1)%QMAXSIZE