2011-11-23 78 views
2

我一直在尋找這個無濟於事,也許它不是一個真正的「東西」。 是否存在一個特定的名稱,這些名稱的大小受到限制,如果值被刪除,那麼這些名稱無關緊要。內存限制堆棧的名稱?

這在頁面歷史情況下最自然地出現。基於每個選項卡的瀏覽器歷史記錄可以被認爲是一個堆棧。當我去一個新網站時,我會推動一些事情。當我按下後退按鈕時,我會彈出一些東西離開並放入一個單獨的堆棧中,以防我按下前進按鈕。

但是,你可以想象限制這個堆棧的大小。也許它只會記住我在該標籤中訪問過的最後二十個網站。當堆疊尺寸達到20時,將彈出最舊的物品時推入新物品。

這種行爲,推動導致對另一端相應的彈出,在一定的大小閾值後,值得注意和有用的任何方式,而不是一個好奇心?如果是這樣,那麼這種類型的結構被歸類爲什麼類型?您是否可以爲它提供額外的用例?

回答

1

如果使用FixedSizeCircularBuffer實現堆棧,則可以執行此操作。所以基本上,只要你的緩衝區已滿,任何新東西都會被丟棄。

請看Circular Buffer其中你可以做你正在問的東西,而Circular buffer可以用來實現堆棧和隊列。