# include<iostream>
# include<queue>
using namespace std;
struct NODE
{
int i,j;
friend bool operator > (const NODE& N1, const NODE& N2)
{
return N1.i>N2.i;
}
friend bool operator < (const NODE& N1, const NODE& N2)
{
return N1.i<N2.i;
}
};
int main()
{
priority_queue<int, vector<int>, less<int> > pq1;
priority_queue<NODE, vector<NODE>, less<NODE> > pq2;
pq1.push(3);
pq1.push(5);
pq1.push(2);
cout<<pq1.top()<<endl;
NODE n,nn;
n.i=3,n.j=1;
pq2.push(n);
n.i=5,n.j=2;
pq2.push(n);
n.i=2,n.j=3;
pq2.push(n);
nn=pq2.top();
cout<<nn.i<<" "<<nn.j<<endl;
return 0;
}
本文通过一个C++程序示例介绍了如何使用STL中的优先队列(priority_queue)来实现基本的数据处理功能,包括定义自定义结构体并重载比较运算符以支持优先级排序。
9729

被折叠的 条评论
为什么被折叠?



