队列

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

 === priority_queue 重载运算符 === 
{{{
struct node
{ 
 int x,y; 
 friend bool operator < (node n1,node n2) //重载的是小于号 
 { 
 if(n1.x != n2.x) 
 return n1.x > n2.x; 
 else return n1.y > n2.y; 
 } 
}; 
priority_queue <node> q; 
//优先抛出x最小的node,x相同则抛出y最小的node 
//注意node里面一定要重载运算符,否则用优先队列会编译错误
}}}

priority_queue 重载运算符

struct node
{ 
 int x,y; 
 friend bool operator < (node n1,node n2) //重载的是小于号 
 { 
 if(n1.x != n2.x) 
 return n1.x > n2.x; 
 else return n1.y > n2.y; 
 } 
}; 
priority_queue <node> q; 
//优先抛出x最小的node,x相同则抛出y最小的node 
//注意node里面一定要重载运算符,否则用优先队列会编译错误