Selection sort
by mschock
JavaScript
function selectionSort(array) {
for (var i = 0; i < array.length; i++) {
swap(array, i, indexOfMinimum(array, i));
}
}
function swap(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
}
function indexOfMinimum(array, startIndex) {
var minValue = array[startIndex],
minIndex = startIndex;
for (var i = minIndex + 1; i < array.length; i++) {
if (array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
}