作者chenbojyh (阿志)
看板Grad-ProbAsk
标题Re: [理工] [资结]-circular queue
时间Fri Sep 18 23:10:31 2009
※ 引述《yesa315 (XD)》之铭言:
: 问一个array q[0..n-1]来表示Circular queue
: front指向第一个元素 rear指向最後一个元素
: 用front及rear来表示元素个数
: 题库上的解答是 (rear-front) mod n
: 但我觉得很怪 应该是 (rear-front+1) mod n
: if front =1 rear=3
: 则元素个数应该是3-1+1=3 不应是3-1=2
: 是答案错还是我错呢..
: [95清大资工]
: 谢谢
如果我没记错的话 (我现在身边找不到书)
一楼大大的是正确的
rear指的是Queue最後一个加入之元素的下一个位址
(也就是空的位置)
以你上面的例子
if front =1 rear=3
在这个Circular Queue只有array[1] array[2]两个位置有存元素
所以理当是解答对
假如我上课内容没记错的话是这样......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.227.128.5
1F:推 yesa315:我题目有打喔 front指向第一个元素 rear指向最後一个元素 09/19 00:35
2F:→ yesa315:题目附在我原po的文章中 09/19 00:44
3F:→ yesa315:circular queue有两种 一种使用到n-1格 一种使用了n格 09/19 00:52
4F:→ yesa315:而n个的演算法 front指向的东西不是空的 09/19 00:52
5F:→ yesa315:当n格都放满的时候 09/19 00:57