我正在寻找一种执行快速排序插入并基于 FIFO 操作的数据结构。
我想要实现的是一个固定大小的数据结构来保存一系列值。在迭代的每个新步骤中,我希望能够有效地找到最小值或最大值(因此我希望数据结构始终被排序)并且根据插入新元素的请求,最旧的元素会自动(或至少能够有效地)弹出/丢弃。
所以我想我正在寻找某种 FIFO 优先级队列。
非常感谢任何帮助。
最佳答案
为什么不同时拥有一个 std::set 或 multiset,以及一个像 std::queue 这样的常规 FIFO 队列呢?在每次插入时,检查队列是否大于最大大小,然后从队列和集合中删除前面的元素。
关于c++数据结构保持按值排序并操作FIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263026/