2011-11-23 54 views
2

我一直在寻找这个无济于事,也许它不是一个真正的“东西”。 是否存在一个特定的名称,这些名称的大小受到限制,如果值被删除,那么这些名称无关紧要。内存限制堆栈的名称?

这在页面历史情况下最自然地出现。基于每个选项卡的浏览器历史记录可以被认为是一个堆栈。当我去一个新网站时,我会推动一些事情。当我按下后退按钮时,我会弹出一些东西离开并放入一个单独的堆栈中,以防我按下前进按钮。

但是,你可以想象限制这个堆栈的大小。也许它只会记住我在该标签中访问过的最后二十个网站。当堆叠尺寸达到20时,将弹出最旧的物品时推入新物品。

这种行为,推动导致对另一端相应的弹出,在一定的大小阈值后,值得注意和有用的任何方式,而不是一个好奇心?如果是这样,那么这种类型的结构被归类为什么类型?您是否可以为它提供额外的用例?

回答

1

如果使用FixedSizeCircularBuffer实现堆栈,则可以执行此操作。所以基本上,只要你的缓冲区已满,任何新东西都会被丢弃。

请看Circular Buffer其中你可以做你正在问的东西,而Circular buffer可以用来实现堆栈和队列。