我只想知道要实现的合适数据结构是什么: 1.将最近访问过的网址存储在网络浏览器上? 2.要在计算机的CPU上安排的进程? 3.记事本等文本编辑器中的撤消机制?
答案 0 :(得分:0)
- 将最近访问过的网址存储在网络浏览器上?
醇>
如果要存储k
最后地址,可以使用队列。
如果队列小于k
- 只需添加新地址。
如果它的大小为k
,则删除队列中的最后一个元素(首先插入一个元素,"最旧的"条目),然后插入新元素。
可能希望将它与一个集合(或映射到队列条目的映射)结合起来,以确保条目不会填充队列中的多个值。
如果您不需要删除条目("已访问过的"元素的数量无限制),您可以使用一组。
- 要在计算机的CPU上安排的进程?
醇>
有很多选项,但是一些简单的选项使用队列或优先级队列(堆)。
- 文本编辑器中的撤消机制,如记事本?
醇>
堆栈。每个"做"是一个推动,并且要撤消",你弹出最后一个元素并恢复它的动作。