c++stack_和_queue用法(4)

发布时间:2021-06-05

C++ stack queue priority_element

public:

intx,y,z;

T(inta,intb,intc):x(a),y(b),z(c)

{

}

};

booloperator>(constT&t1,constT&t2)

{

returnt1.z>t2.z;

}

main()

{

priority_queue<T,vector<T>,greater<T>>q;

q.push(T(4,4,3));

q.push(T(2,2,5));

q.push(T(1,5,4));

q.push(T(3,3,6));

while(!q.empty())

{

Tt=q.top();q.pop();

cout<<t.x<<""<<t.y<<""<<t.z<<endl;

}

return1;

}

输出结果为:

443

154

225

336

如果我们把第一个例子中的比较运算符重载为:

booloperator<(constT&t1,constT&t2)

{

returnt1.z>t2.z;//按照z的顺序来决定t1和t2的顺序

}

则第一个例子的程序会得到和第二个例子的程序相同的输出结果。

1.6nth_element指定元素排序

nth_element一个容易看懂但解释比较麻烦的排序。用例子说会更方便:

c++stack_和_queue用法(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219