我有一个关于std :: priority_queue的问题

问题描述 投票:0回答:1
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返回第一个元素?

stl queue priority-queue
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.