gpt4 book ai didi

scala - 在 Scala 中创建最小堆最简单、最有效的方法是什么?

转载 作者:行者123 更新时间:2023-12-02 02:37:25 24 4
gpt4 key购买 nike

val maxHeap = scala.collection.mutable.PriorityQueue[Int] //Gives MaxHeap

使用 Ordering 将 PriorityQueue 转换为 minHeap 的最简洁、最有效的方法是什么?

最佳答案

您必须定义自己的排序:

scala> object MinOrder extends Ordering[Int] {
def compare(x:Int, y:Int) = y compare x
}
defined object MinOrder

然后在创建堆时使用它:

scala> val minHeap = scala.collection.mutable.PriorityQueue.empty(MinOrder)
minHeap: scala.collection.mutable.PriorityQueue[Int] = PriorityQueue()

scala> minHeap.ord
res1: Ordering[Int] = MinOrder$@158ac84e

关于scala - 在 Scala 中创建最小堆最简单、最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27119557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com