博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java优先队列一些问题
阅读量:6279 次
发布时间:2019-06-22

本文共 896 字,大约阅读时间需要 2 分钟。

无论怎么初始化,优先队列的长度不是固定的,你add一个,size就会++,满了就会扩容。

所以必须手动维护优先队列的大小,比如topK问题。

定义一个len,len<max的时候就直接add,len++

满了就poll之后,再add

 

 

将一堆无序的元素放进优先队列中,每次调用poll,都能获得当前小顶堆,也就是里面的最小值。

 

优先队列默认是小顶堆,可以自己传入排序方法。大顶堆就传相反的排序方法就好了。

//我定义的类public static class Node{        int cap;        int pro;        public Node(int x,int y){            cap = x;            pro = y;        }    }PriorityQueue
priorityQueue = new PriorityQueue<>(new Comparator
() { @Override public int compare(Node o1, Node o2) { if(o1.pro>o2.pro) return -1; if(o1.pro

 

lamda表达式也可以

不用new comxxxx这个类,直接传函数即可

参数类型不用填,会根据上下文给你填好

PriorityQueue
priorityQueue = new PriorityQueue<>((o1,o2)->{ if(o1.pro>o2.pro) return -1; if(o1.pro

 

转载于:https://www.cnblogs.com/weizhibin1996/p/9277662.html

你可能感兴趣的文章
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>