
import java.util.*;
class node{
public int key;
public int sec;
}
public class 优先队列 {
static node[] a=null;
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
Comparator cmp= (o1, o2) -> {
if(o1.key==o2.key)return o1.sec-o2.sec;
return o1.key-o2.key;//返回值大于0就交换o1 o2
};
Queueq=new PriorityQueue<>(cmp);//形参comparator–将用于排序此优先级队列的比较器。如果为空,将使用元素的自然顺序
int n=in.nextInt();
a=new node[n];
for (int i = 0; i < n; i++) {
a[i]=new node();
a[i].key=in.nextInt();
a[i].sec=in.nextInt();
q.add(a[i]);
}
while(!q.isEmpty()){
System.out.println(q.peek().key+" "+q.peek().sec);//读取队首元素
q.poll();//出队
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)