priority_queue< int, vector< int >, greater< int > > qi2;
从小到大的优先级队列,可将greater改为less,即为从大到小
for(i = 0; i < len; i++)
qi2.push(a[i]);
for(i = 0; i < len; i++)
{
cout< < qi2.top() < <” “;
qi2.pop();
}
与pair的结合
typedef pair<int, int> P;
priority_queue< P, vector<P>, greater<P> > Q;
struct Order
{
bool operator()(P const& a, P const& b) const
{
return a.second < b.second || a.second == b.second &&a.first < b.first;
}
} //自己的比较算子