通常用优先队列来实现小根堆和大根堆
//默认为小根堆(看成升序排列)
Queue<Integer> minHeap =new PriorityQueue<Integer>()
假如要实现大根堆,可以用lambda 写法来构建比较规则
//默认为小根堆(看成升序排列)
Queue<Integer> minHeap =new PriorityQueue<Integer>((a, b) -> {
return (b - a); // 大根堆(降序)
//return (a - b); // 小根堆(升序)
});