Java的PriorityQueue与最小堆有何不同?
|
如果您无法插入WithPriority,它们为什么命名为“ 0”?看起来非常类似于堆。有什么区别吗?如果没有区别,那为什么命名为“ 0”而不是“堆”?
没有找到相关结果
已邀请:
6 个回复
捻盒愧杯
在http://download.oracle.com/javase/1,5.0/docs/api/java/util/PriorityQueue.html下查看 比较器给出的顺序将代表队列中的优先级。
羔磺
因此,您可以通过以下方式创建最小堆和最大堆:
骨乏唯瓜
吐兄
JavaDocs: 基于优先级堆的无界优先级队列。优先级队列的元素根据其自然顺序或在队列构造时提供的“ 7”进行排序,具体取决于所使用的构造函数。 优先级是队列中对象的固有属性。根据某种比较对元素进行排序。要插入具有给定优先级的对象,只需设置对象上影响排序的任何字段,然后“ѭ8”。 而且,正如@Daniel所说, 通常,Java对象是根据它们提供的功能来命名的,而不是根据它们的实现方式来命名的。
粱委教
的maxHeap和minHeap的工作代码-
样本输出/输出:
亨尖玛次酥
如果您有java8,则可以使用lambda表达式
这按降序对数组arr进行排序