有实施
使用Scala语法
val arr = Array[Comparable[_]](1, 7, 10, 11, 3, 6, 0, 2, 9, 4, 8, 5)
quickSelect(arr, 6)
println(s"${arr.mkString(" ")} | ${arr(6)}")
输出:1 4 2 0 3 5 11 10 9 7 8 6 | 11。所以,中位数是11而不是6.有人知道实施中的错误是什么吗?
答案 0 :(得分:2)
你提供的链接说
* Quick selection algorithm.
* Places the kth smallest item in a[k-1].
从零开始的数组中的第6个元素是[5]