我正在Yoyo Game Maker中製作一款遊戲,其中有物品沿傳送帶移動。由於這些項目只向一個方向移動,我認爲使用隊列或類似隊列的數據結構來存儲項目是最有意義的。但是,爲了能夠渲染項目,我需要能夠在隊列中的任意位置讀取所有項目,而不僅僅是頭部或尾部。可從任何地方讀取的隊列式數據結構
[[a] [b] [c] [d]]
|
V
a <- [[ ] [b] [c] [d]] <- e
|
V
[[b] [c] [d] [e]]
| | | |
V V V V
b c d e
我可以簡單地使用該手動移動其的所有值由前一個時隙動不動(使用for循環),但不知何故似乎效率低下,laggy,或者至少是,不良形式的陣列。無論如何,我的編程本能地反思了使用這種系統的想法。
這是一個正確的假設嗎?數組真的是實現像這樣的結構的最佳方式嗎?我甚至應該擔心效率問題,還是這種情況下的差異可以忽略不計?
一些建議或例子(任何編程語言)將不勝感激。
https://en.wikipedia.org/wiki/Circular_buffer – jbapple
@jbapple這將工作完美,謝謝。 – a52