What is Simple sort algorithm ?
- if you want array to sort by ASC, you find minimum value in target list.
- and pass it to new array from beginning.
- this algorithm is slow to sort. so you had better to use this to large list.
Code
/***************************************
* util
***************************************/
var getMin = function(list){
var min = {
index: 0,
value: list[0]
};
list.forEach(function(target, index){
if(target < min.value){
min.index = index;
min.value = target;
}
});
return min;
};
/***************************************
* sort
***************************************/
var sortByMin = function(before){
var min,
after = [];
while(before.length > 0){
min = getMin(before);
after.push(min.value);
before.splice(min.index, 1);
}
return after;
};
/***************************************
* main
***************************************/
var before = [0,9,3,4,6,7,8,2,1,5];
console.log('before : ' + before);
var after = sortByMin(before);
console.log('after : ' + after);
Test
/*************************************** * util ***************************************/ var getMin = function(list){ var min = { index: 0, value: list[0] }; list.forEach(function(target, index){ if(target < min.value){ min.index = index; min.value = target; } }); return min; }; /*************************************** * sort ***************************************/ var sortByMin = function(before){ var min, after = []; while(before.length > 0){ min = getMin(before); after.push(min.value); before.splice(min.index, 1); } return after; };
/***
- main
***/
var before = [0,9,3,4,6,7,8,2,1,5];
console.log(’before : ’ + before);
var after = sortByMin(before);
console.log(’after : ’ + after);