Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
sort.scala
// Inmperative version
//
def selectionSort(list: Array[Int]): Unit {
def swap(list: Array[Int], i: Int, j: Int) {
var tmp = list(i)
list(i) = list(j)
list(j) = tmp
}
var i = 0
while(i < (list.length - 1)) {
var min = i
var j = i + 1
while (j < list.length) {
if(list(j) < list(min)) {
min = j
}
j += 1
}
swap(list, i, min)
i += 1
}
}
// Functional / Recursive version
//
def selectionSort2(list: List[Int]): List[Int] = {
if(list.length == 1) list
else {
// Pseudo code
// list.min :: selectionSort2(list.everything_but_min)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.