Я делаю некоторые изменения для предстоящего повторения :( и у меня возникла проблема со следующей рекурсивной реализацией Выбор сортировки в Scala.
По большей части это работает, но, похоже, не происходит замена первых двух значений, когда они должны быть изменены. Я уверен, что это довольно просто, но мой колпачок для решения проблем на этом этапе немного заржавел
Любые идеи с благодарностью, вот код, который я до сих пор:
object question3 {
def main(args : Array[String]) : Unit =
{
var arr = Array(8,9,8,5,2,4,1,6,3,7,5,-1,5,0,99)
arr = sort(arr, 0, 0, 0)
println("RESULT:")
arr.foreach(str=>print(str+","))
}
def sort(arr : Array[Int], n : Int, min : Int, j : Int): Array[Int] =
{
if(n == arr.length)
{
return arr
}
else
{
var j = n+1
var min = n
if(j < arr.length)
{
if(arr(j) < arr(min))
{
min = j
}
sort(arr, n+1, min, j+1)
}
if(min != n)
{
var t = arr(n)
arr(n) = arr(min)
arr(min) = t
}
sort(arr, n+1, min, j)
}
}
}