C++:数据算法的priority_queue的greater<T>问题,图片下面的代码是怎么样联系的?

图片下面的代码是怎么样联系的?operator怎么和greater勾搭在一起的呢?#include<iostream>#include<queue>usingnamesp... 图片下面的代码是怎么样联系的?operator怎么和 greater勾搭在一起的呢?#include <iostream> #include <queue> using namespace std; class T { public: int x, y, z; T(int a, int b, int c):x(a), y(b), z(c) //定义构造函数并初始化 { } }; bool operator > (const T &t1, const T &t2) //重载 > 运算符{ return t1.z > t2.z; //以最后一个元素为基准进行排序 } int main() { priority_queue<T, vector<T>, greater<T> > q; //因为每一对象中数据很多,所以用一个容器来储存数据 //greater<T>是 重载运算符的使用,不能将greater改为less(T是类) q.push(T(4,4,3)); q.push(T(2,2,5)); q.push(T(1,5,4)); q.push(T(3,3,6)); cout<<"输出情况如下:"<<endl; while (!q.empty()) { T t = q.top(); //定义一个t 变量为q.top()元素 q.pop(); cout << t.x << " " << t.y << " " << t.z << endl; } return 0; } 展开
 我来答
小呆瓜
2016-10-28 · 知道合伙人金融证券行家
小呆瓜
知道合伙人金融证券行家
采纳数:2850 获赞数:12626
从事C++行业多年

向TA提问 私信TA
展开全部
operator >这个是重载运算符,相当于定义了一个运算符>。
变量T&t1,是成员T的别名,t2类似
追问
那个我知道呀,我说的是operator 和 greater是如何联系在一起的?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式