title: Recursive selection sort problem
body: <p>I'm doing some revision for an upcoming repeat :( and I've run into a problem with the following recursive implementation of <strong>Selection Sort</strong> in Scala.</p>
  
  <p>For the most part this works, but it doesn't seem to be swapping the first two values when they should be swapped. I'm sure it's pretty basic but my problem solving cap is a little rusty at this stage</p>
  
  <p>Any ideas greatly appreciated, here is the code I have so far:</p>
  
  <pre><code> 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=&gt;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 &lt; arr.length)
            {
                if(arr(j) &lt; 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)
        }
    }
  }
  </code></pre>