这个名字说明了一切,但为了详细说明,我有一个带有时间戳的向量列表。它们大多是排序的,但会有一些乱序值。我想以有序的方式输出它们,但是向量将以流的形式出现,我不想扩大缓冲区,因为我想及时输出我的结果。
所以我想保留一个包含 N 个向量的“前瞻”列表。当我读入新向量时,我想将其插入列表中,然后从列表顶部弹出最旧的向量以输出,以便列表保持恒定的 N 个向量长。
当我插入列表时,我希望对向量进行排序并添加到列表中的正确位置,因为我认为这是最有效的方法。
我需要良好的效率,但不想浪费太长时间的实施和测试。因此,我对简单的解决方案(例如重用现有的 C++ 结构,如果它们存在)以及如果它们可以显着提高速度,则更难实现的解决方案感兴趣。我宁愿坚持使用标准 C++,但如果有一个 boost 或类似的库可以完全满足我的需要,我很想听听它以防万一。
谢谢你。
编辑:我感谢所有建议。但是,我忽略了时间戳不是唯一的。时间戳只有第二个精度,所以实际上很可能我得到了多个具有相同时间戳的向量。在这种情况下,我宁愿保留他们的订单,尽管这不是必需的。