【发布时间】:2016-08-13 03:48:59
【问题描述】:
我需要一个必须添加/删除我拥有的一些结构的队列,例如:
struct MyObject
{
int offset;
BYTE status, data1, data2;
double beatPos;
enum Status
{
isOff = 8,
isOn = 9,
};
}
当我.Add()一个元素时,这个队列必须把元素放在正确的位置,由于beatPos的值,它必须从较低的(队列顶部,即下一个元素我将pop)到上层(我将从中提取的最后一个元素)。
我看到有std::priority_queue,但我不确定是否可以选择哪个是订购字段。
另外,一旦我在列表中添加了一些结构,我想删除具有(例如)beatPos=1,567 的第一个元素(例如,它可能在列表的中间;不一定在开始)。
有什么线索吗?
【问题讨论】:
-
多个
MyObjects可以有相同的beatPos值吗? -
@Zaiborg:当然可以!