这是不是请求排队算法,我知道有很多。简单队列算法
我正在阅读一本C#书,它用一个代码示例解释了Circular Queue算法。在第13,14和15行,他解释了如何检查队列是否已满。但我不明白为什么第一个可选条件是必要的。有人能告诉我一个需要它的情况吗?
下面是类代码:
我的问题是关于这个部分:(putloc + 1 == getloc)
public bool Put(char ch) {
/* Queue is full if either putloc is one less than
getloc, or if putloc is at the end of the array
and getloc is at the beginning. */
if (putloc + 1 == getloc || ((putloc == q.Length - 1) && (getloc == 0)))
{
return false;
}
谢谢!这是最终让我更加思考的答案,并让我了解了循环队列概念。忍受着我,我只有15岁,而且我在数学上也不例外:) – 2009-10-19 19:39:43