手机版

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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)