// Using a priority_queue
// Ken Moore 2003
#pragma warning(disable : 4786)
#include
<iostream>
#include
<queue>
#include
<string>
using namespace std;
// function object
comparator
template<class T>// templating is optional
struct comp{
bool
operator()(const T &a,const T &b)const{
//
least to greatest
return b<a;
//
greatest to least
//
return a<b;
}
};
void main()
{
// use my own comparator function
priority_queue<int, vector<int>,
comp<int> > pq;
// reverse default order
// priority_queue<int, vector<int>,greater<int> > pq;
// uses the less function and gives reverse
order
//priority_queue<int> pq;
pq.push(987);
pq.push(9);
pq.push(98742);
pq.push(98);
while(!pq.empty())
{
cout <<
pq.top() << "\n";
pq.pop();
}
}