Selection Sort steps
by framj00
JavaScript
function selectionSort(array) {
let comparsions = 0;
let swaps = 0;
for(let i = 0; i < array.length - 1; i++) {
let lowestNumberIndex = i;
for(let j = i + 1; j < array.length; j++) {
if(array[j] < array[lowestNumberIndex]) {
lowestNumberIndex = j;
}
comparsions++;
}
if(lowestNumberIndex != i) {
swaps++;
let temp = array[i];
array[i] = array[lowestNumberIndex];
array[lowestNumberIndex] = temp;
}
}
let steps = "Comparsions: " + comparsions + " Swaps: " + swaps;
console.log(steps);
return array;
}
// code to create a sample of array size = 5,10,20,40,80
let size = 5; // <------ EDIT THIS!
let counter = size;
let sample = new Array(size);
for (i = 0; i < size; i++) {
sample[i] = counter;
counter--;
}
console.log(selectionSort(sample))