<分区>
我需要一个队列,它必须添加/删除我拥有的一些结构,例如:
struct MyObject
{
int offset;
BYTE status, data1, data2;
double beatPos;
enum Status
{
isOff = 8,
isOn = 9,
};
}
当我 .Add()
一个元素时,由于 beatPos
值,这个队列必须将元素放在正确的位置,它必须从低位开始排序(队列顶部,即我将弹出的下一个元素)到上层(我将从中提取的最后一个元素)。
我看到有 std::priority_queue , 但我不确定是否可以选择哪个字段用于订购。
此外,一旦我在列表中添加了一些结构,我想删除第一个具有(例如)beatPos=1,567
的元素(它可能位于列表的中间,例如;不一定在开头)。
有什么线索吗?