标题:关于优先队列问题
只看楼主
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
已结贴  问题点数:20 回复次数:2 
关于优先队列问题
struct road
{
    int x,y,count;//横纵坐标和花费的费用
    /*friend bool operator<(road a,road b)//定义结构体的优先级比较方式        //这种形式是将比较运算符内置
    {
        return a.count>b.count;
    }*/
}st,tp;


如果将比较运算符外置,该怎么写?我自己想的不知道对不对 请给位指教。。
struct cmp                                                               
{
     bool operator () (road a, road b) // 重载括号
    {
        return a.count >b.count; // 相当于less,大顶堆
    }
};
priority_queue<road,vector<road>,cmp> q;
搜索更多相关主题的帖子: 队列 count bool operator 比较 
2018-05-19 23:29
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
得分:20 
看不懂你说的什么 内置外置
你举个例子说明一下 什么是外置

https://zh.
2018-05-20 11:15
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:0 
回复 2楼 lin5161678
struct road
{
    int x,y,count;
    friend bool operator<(road a,road b)//定义结构体的优先级比较方,这种形式是将比较运算符内置
    {
        return a.count>b.count;
    }
}st,tp;


下面这种是将比较运算符外置
struct road
{
    int x,y,count;
}st,tp;

struct cmp                                                               
{
     bool operator () (road a, road b) // 重载括号
    {
        return a.count >b.count; // 相当于less,大顶堆
    }
};
priority_queue<road,vector<road>,cmp> q
2018-05-20 13:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487083-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.207656 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved