【发布时间】:2012-05-03 00:44:00
【问题描述】:
我正在寻找一种执行快速排序插入并基于FIFO进行操作的数据结构。
我想要实现的是一个固定大小的数据结构来保存一系列值。在迭代的每个新步骤中,我希望能够有效地找到最小值或最大值(因此我希望始终对数据结构进行排序),并且在请求插入新元素时,自动将最旧的元素(或至少能够有效地)弹出/丢弃。
所以我想我正在寻找某种 FIFO 优先级队列。
非常感谢任何帮助。
【问题讨论】:
-
那张海报询问的是“元素不需要以任何方式排序”的数据结构。我需要固定大小、FIFO 并让它始终保持排序。
-
这不适合:msdn.microsoft.com/en-us/library/4ef4dae9.aspx?根据容器的大小,我只会使用向量或双端队列,并在需要时应用
algorithm函数sort、min和max,它应该仍然足够快满足您的需求 -
我将这样做数百万次并且作为实时过程的一部分,所以我最初的想法是不断地重新排序并不是最好的方法。跨度>
-
如果网络能保持足够长的时间,让我再试一次:实际的欺骗是stackoverflow.com/questions/5329312/…,它显然错误地指向了那个。
标签: c++ data-structures stack heap priority-queue