关闭

PriorityQueue里面的的minheap和maxheap

标签: heap
322人阅读 评论(0) 收藏 举报
分类:
static class PQsort implements Comparator<Integer> {

        public int compare(Integer one, Integer two) {
            return two - one;//或者返回负数 如-1
        }
    }//这个是max heap的代码

假设有数组 int[] ia = { 1, 10, 5, 3, 4, 7, 6, 9, 8 };
maxheap的顺序就是 {10, 9, 7, 8, 3, 5, 6, 1, 4}

static class PQsort implements Comparator<Integer> {

        public int compare(Integer one, Integer two) {
            return one - two;//或者返回正数 比如1
        }
    }//这个是minheap的代码

minheap的顺序就是{1, 3, 5, 8, 4, 7, 6, 10, 9}

这是一个接口来实现比较器, 这种情况下实现的是implements Comparator 里面实现compare函数。public int compare(Integer one,Integer two)

还有一个在java中实现的minheap和maxheap的是

PriorityQueue<Pair> queue = new PriorityQueue<Pair>(
     new Comparator<Pair>(){
        public int compare(Pair a,Pair b){
               return b.sum - a.sum;
        }
     }
)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4844次
    • 积分:287
    • 等级:
    • 排名:千里之外
    • 原创:25篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章分类