這是不是請求排隊算法,我知道有很多。簡單隊列算法
我正在閱讀一本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