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 different sorting states.
npm i algosort
const algosort = require("algosort");
var sortedNumbers = algosort.algosort({
algorithm: 'bubblesort',
numbers: [1, 3, 2, 7, 3, 9, 5, 6],
output: 'afterEachNumber'
});
console.log(sortedNumbers);
AlgoSort supports 2 algorithm (at the moment), 3 different options for the output, depending on the algorithm and any length of the array, which is going to be sorted:
- algorithm - bubblesort | selectionsort (Default: bubblesort | More options are coming soon!)
- output - afterEachNumber | afterEachRun | afterAllRuns (Default: afterEachNumber!)
- numbers - array[int, int, int]
To use this sorting animation on your website, you need to add a link to the graphical.js file in the head of your index.html file.
You do this with this line of code:
<script src="./node_modules/algosort/src/graphical.js"></script>
The whole code would look like this:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>AlgoSort</title>
<script src="./node_modules/algosort/src/graphical.js"></script>
</head>
<body>
<canvas class='algosort' speed='50' bars='20' barColor='blue' algorithm='selectionsort' output='afterEachNumber' width='1000px' height='250px'></canvas>
</body>
</html>
AlgoSort for Web works very similar to the CLI of this package. The only difference in this case is, that you need to add those options in a canvas.
To use this package you need to add "algosort" as the class of this element like this:
<canvas class='algosort' speed='50' bars='20' barColor='blue' algorithm='selectionsort' output='afterEachNumber' width='1000px' height='250px'></canvas>
The options you have:
- speed - 10 -> 10000
- bars - 2 -> 1000
- barColor - any color you want
- algorithm - bubblesort | selectionsort (Default: bubblesort | More options are coming soon!)
- output - afterEachNumber | afterEachRun | afterAllRuns (Default: afterEachNumber!)
parcel index.html
http://localhost:1234