我对std :: priority_queue有疑问

时间:2020-06-03 17:13:31

标签: stl queue priority-queue

struct Event
{
    int ObjectID{};
    EnumOp Op{};
    high_resolution_clock::time_point WakeUpTime{};
    int TargetID{};

    constexpr bool operator>(const Event& rhs) const
    {
        return WakeUpTime > rhs.WakeUpTime;
    }
};

priority_queue<Event, vector<Event>, greater<Event>> TimerQueue;

优先级队列的默认排序方法较少。它实际上按升序排序,但是top返回最后一个元素吗?还是按降序排序(尽管较少),所以top返回第一个元素?

1 个答案:

答案 0 :(得分:0)

compiler返回排名最高的元素(即优先级最高的元素)。是的,默认情况下,它使用top

请注意,底层容器中的元素未排序。它们是有序的,但不是升序(或降序)。