大顶堆和小顶堆模版

大顶堆和小顶堆模版

//特殊情况可能出错:例如 Integer.MIN_VALUE - Integer.MAX_VALUE = 1
//大顶堆
PriorityQueue<Integer> maxHeapQueue = new PriorityQueue<>((o1, o2) -> o2 - o1);
//小顶堆
PriorityQueue<Integer> minHeapQueue = new PriorityQueue<>((o1, o2) -> o1 - o2);

PriorityQueue<Integer> maxHeapQueue1 = new PriorityQueue<>((o1, o2) -> {
    if (o2 > o1) {
        return 1;
    } else if (o2 == o1) {
        return 0;
    } else {
        return -1;
    }
});

PriorityQueue<Integer> minHeapQueue1 = new PriorityQueue<>((o1, o2) -> {
    if (o1 > o2) {
        return 1;
    } else if (o1 == o2) {
        return 0;
    } else {
        return -1;
    }
});

 

posted @ 2020-04-23 13:19  All_just_for_fun  阅读(212)  评论(0编辑  收藏  举报