Skip to content

Instantly share code, notes, and snippets.

@worker8
Created December 11, 2015 09:16
Show Gist options
  • Select an option

  • Save worker8/32e7217b9f6337368e0b to your computer and use it in GitHub Desktop.

Select an option

Save worker8/32e7217b9f6337368e0b to your computer and use it in GitHub Desktop.
// roughly 10 mins
var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};
var indexOfMinimum = function(array, startIndex) {
var minValue = array[startIndex];
var minIndex = startIndex;
for(var i = minIndex + 1; i < array.length; i++) {
if(array[i] < minValue) {
minIndex = i;
minValue = array[i];
}
}
return minIndex;
};
var selectionSort = function(array) {
var minIndex = 0;
var minValue = array[0];
for ( var i = 0; i < array.length; i++) {
swap(array, i, indexOfMinimum(array, i));
}
};
var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);
array = [22, 11, 99, 88, 9, 7, 42,1];
selectionSort(array);
Program.assertEqual(array, [1, 7, 9, 11, 22, 42, 88, 99]);
array = [22, 11, 0, 88, 9, 7, 42,1];
selectionSort(array);
Program.assertEqual(array, [0, 1, 7, 9, 11, 22, 42, 88]);
@GhostRoboXt

Copy link
Copy Markdown

Thx

@Danities316

Copy link
Copy Markdown

This really help.
Below was my code......I've sweat my brain and sweat again but finally stamble on the above solutions. It helps

`var swap = function(array, firstIndex, secondIndex) {
var temp = array[firstIndex];
array[firstIndex] = array[secondIndex];
array[secondIndex] = temp;
};

var indexOfMinimum = function(array, startIndex) {

var minValue = array[startIndex];
var minIndex = startIndex;

for(var i = minIndex + 1; i < array.length; i++) {
    if(array[i] < minValue) {
        minIndex = i;
        minValue = array[i];
    }
} 
return minIndex;

};
var selectionSort = function(array) {
var sortedArray;
for(var i = 0; i < array.length; i++){
sortedArray = indexOfMinimum(array, array[i]);
swap(array,i, i + 1));
}

};

var array = [22, 11, 99, 88, 9, 7, 42];
selectionSort(array);
println("Array after sorting: " + array);

Program.assertEqual(array, [7, 9, 11, 22, 42, 88, 99]);

var array = [22, 11, 99, 88, 9, -7, -42];
selectionSort(array);
println("Array after sorting: " + array);
Program.assertEqual(array, [-42,-7,9,11,22,88,99]);

`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment