java 优先队列 PriorityQueue

 代码:

 

PriorityQueue<Integer> pq = new PriorityQueue<>((x, y) -> y - x);
for (int i = 1; i <= 5; i++) {
    pq.add(i);
    System.out.println( pq.toString());
}

 

 

 

输出:

[1]
[2, 1]
[3, 1, 2]
[4, 3, 2, 1]
[5, 4, 2, 1, 3]

(由于PriorityQueue通过二叉小顶堆实现,所以toString打印输出的其实二叉树结构)

posted @ 2021-09-08 15:41  蜜铀  阅读(158)  评论(0编辑  收藏  举报