Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 优先级队列中比较器函数的工作_C++_Priority Queue - Fatal编程技术网

C++ 优先级队列中比较器函数的工作

C++ 优先级队列中比较器函数的工作,c++,priority-queue,C++,Priority Queue,我不理解比较器函数设置的排序顺序 这是传递给优先级队列的比较器参数的代码: struct CompareHeight { bool operator()(Person const& p1, Person const& p2) { return p1.height < p2.height; } }; struct CompareHeight{ 布尔运算符()(人员常量和p1,人员常量和p2) { 返回p1.heigh

我不理解比较器函数设置的排序顺序

这是传递给优先级队列的比较器参数的代码:

struct CompareHeight { 
    bool operator()(Person const& p1, Person const& p2) 
    {  
        return p1.height < p2.height; 
    } 
}; 
struct CompareHeight{
布尔运算符()(人员常量和p1,人员常量和p2)
{  
返回p1.height
这是以高度的降序给出输出

输出示例:65432


不应该像这样输出:2 3 4 5 6A
priority\u queue
总是以最大的元素(最高优先级)开始,例如,请参见。

作为一个比较函数,问题是“第一个参数在我们的顺序中是否在第二个参数之前?”(根据)。因此,如果要按照升序对其进行排序,应该比较
p1.height>p2.height

通常情况下,您的原始代码可以工作,但是,由于这是一个优先级队列,因此顺序将相反(如
p1.height>p2.height