java使用优先队列实现大顶堆和小顶堆,默认是小根堆,当然记不住默认也没有关系
小根堆创建
PriorityQueue<Integer> minHeap = new PriorityQueue<>(k,(a,b) -> a-b);
大根堆创建
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(k,(a,b) -> b-a);
其中构造器中的k表示创建堆的大小,之后用Lambda表达式快速实现自定义排序
java使用优先队列实现大顶堆和小顶堆,默认是小根堆,当然记不住默认也没有关系
小根堆创建
PriorityQueue<Integer> minHeap = new PriorityQueue<>(k,(a,b) -> a-b);
大根堆创建
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(k,(a,b) -> b-a);
其中构造器中的k表示创建堆的大小,之后用Lambda表达式快速实现自定义排序