2010-05-27 69 views

回答

6

這是不明確的,會發生什麼。您需要另一種機制來跟蹤隊列是否已滿。有關討論,請參閱Wikipedia page上的困難部分。

要從頁面引用,以下是一些關於如何解決這個問題的一些想法:

爲了解決這個問題有一個 一些解決辦法:
- 始終保持一個槽開度。
- 使用填充計數來區分這兩種情況。
- 使用讀取和寫入計數從中獲取填充計數。
- 使用絕對指數

+1

+1的純粹的速度(和正確的答案,當然);-) – ChristopheD 2010-05-27 22:59:50

+0

我在問,如果前後排隊等於 會發生什麼,即在長度爲5的隊列 如果-1和前方的後方星星從0開始然後如果(前方==後方) 發生了什麼.. – 2010-05-27 23:03:39

0

取決於前後指向的位置:數組元素或堆上某處的對象。 (您沒有提及您的編程語言。)

如果在您的編程語言nil不等於nil,您的對象循環隊列將有一個元素。但是,如果nil == nil的計算結果爲true ......您不能說:-)

在通過數組實現隊列的情況下,您也不能告訴它。您的隊列可能已滿...

+0

我明白了......謝謝 – 2010-05-27 23:10:49

相關問題