gpt4 book ai didi

scala - Scala 中的惰性快速排序

转载 作者:行者123 更新时间:2023-12-04 16:56:36 27 4
gpt4 key购买 nike

有没有可能做this Scala 中的那种东西?

最佳答案

def quicksort[A](xs: Stream[A])(implicit o: Ordering[A]): Stream[A] = {
import o._
if (xs.isEmpty) xs else {
val (smaller, bigger) = xs.tail.partition(_ < xs.head)
quicksort(smaller) #::: xs.head #:: quicksort(bigger)
}
}

它也可以用 View 来完成,尽管它肯定会慢得多:
def quicksort[A](xs: List[A])(implicit o: Ordering[A]) = {
import o._
def qs(xs: SeqView[A, List[A]]): SeqView[A, Seq[_]] = if (xs.isEmpty) xs else {
val (smaller, bigger) = xs.tail.partition(_ < xs.head)
qs(smaller) ++ (xs.head +: qs(bigger))
}
qs(xs.view)
}

关于scala - Scala 中的惰性快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2690989/

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