数据结构中的一道题目

判断一个循环列队QU(最多元素为m,m=Maxsize-1)为满队列的条件是-------- front==rear+1,为什么不对哦,??请高手指教..谢谢
一楼的注意哦..m=Maxsize-1哦..所以不可能front==rear的肯定要空一个出来的,还有如果第一个元素不是放在a[0]中呢..有怎么考虑呢...

第1个回答  2006-12-14
// 补充:看来你没看书.....仔细想想吧,我已经说得够细了

定义一个数组a[5] 来表示一个最多元素为5个的循环队列

font = 0 rear = 0时font指向a[0]
加入一个数1
font = 1 rear= 0 时font指向a[1]
如此下去(每加入一个数,font++)
font = 4 rear=0 时font 指向a[4] (font是指向将要写的内存)
这时有4个元素
再加入一个元素font=0(在模5的情况下)
所以满队列的条件是 font == rear;
(但是空队列条件也是 font==rear,所以要注意哟)
相似回答