c++数据结构保持按值排序并操作FIFO

标签 c++ data-structures stack heap priority-queue

我正在寻找一种执行快速排序插入并基于 FIFO 操作的数据结构。

我想要实现的是一个固定大小的数据结构来保存一系列值。在迭代的每个新步骤中,我希望能够有效地找到最小值或最大值(因此我希望数据结构始终被排序)并且根据插入新元素的请求,最旧的元素会自动(或至少能够有效地)弹出/丢弃。

所以我想我正在寻找某种 FIFO 优先级队列。

非常感谢任何帮助。

最佳答案

为什么不同时拥有一个 std::set 或 multiset,以及一个像 std::queue 这样的常规 FIFO 队列呢?在每次插入时,检查队列是否大于最大大小,然后从队列和集合中删除前面的元素。

关于c++数据结构保持按值排序并操作FIFO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263026/

相关文章:

c++ - 将窗口放在前面 -> raise()、show()、activateWindow() 不起作用

c++ - 如何实现is_STL_vector

c - 粉碎堆栈不起作用

c++ - 在我自己的堆栈中实现 top 的问题

c++ - 懒惰地重新创建其资源的智能指针

c++ - 在Qt中测试Lambda唯一连接

javascript - 这段代码中的 map (数据结构)有问题

c++ - 将不相邻的内存缓冲区视为连续缓冲区的数据结构

java - 二叉搜索树Tree Implementation,程序终止于eclipse。简单的插入和显示操作

c++ - leetcode 394 的时间复杂度