UNPKG

algosort

Version:

This node package is for all javascript developers who are interested in sorting algorithms. This package gives you the possibility to choose between many different sorting algorithms. This package will output a two dimensional array of all numbers in dif

39 lines (35 loc) 1.18 kB
var sortedNumbers = []; var arrayOfArrays = []; exports.bubblesort = function(numbers, i, output, testIndicator) { if (output === "afterEachNumber") sortedNumbers = sortedNumbers.concat(numbers); else if (output === "afterEachRun") { if (i == 0) sortedNumbers = sortedNumbers.concat(numbers); } else if (output === "afterAllRuns") { if (testIndicator == numbers.length-1) sortedNumbers = sortedNumbers.concat(numbers); } else return `"${output}" is no valid output option! \n\n Output options: "afterEachNumber", "afterEachRun" and "afterAllRuns"` ; if (numbers[i] > numbers[i+1]) { var smallerNumber = numbers[i+1]; numbers[i+1] = numbers[i]; numbers[i] = smallerNumber; testIndicator = 0; } else { testIndicator++; } if (testIndicator < numbers.length) { if (i < numbers.length-2) { i++; this.bubblesort(numbers, i, output, testIndicator); } else { this.bubblesort(numbers, 0, output, testIndicator); } } else { for (var i=0; i<sortedNumbers.length; i+=numbers.length) { arrayOfArrays.push(sortedNumbers.slice(i,i+numbers.length)); } } return arrayOfArrays; }