Skip to content

Package provides javascript of array sorting algorithms

License

NotificationsYou must be signed in to change notification settings

cschen1205/js-sorting-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

js-sorting-algorithms

Package provides the javascript implementation of sorting algorithms for array

Build StatusCoverage Status

Features

In terms of usage, the user has the following benefit of using the sorting algorithms:

  • Customizable comparer function for the sorting function
  • Allow user to sort a sublist of an array starting and ending at the user-defined indices

In terms of supported algorithms for sorting:

  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • 3-Ways Quick Sort
  • Heap Sort
  • Shell Sort

Install

Run the following npm command to install

npm install js-sorting-algorithms

Usage

To sort an array "a" using any of the sorting algorithms:

jss.insertionSort(a);
jss.selectionSort(a);
jss.shellSort(a);
jss.mergeSort(a);
jss.quickSort(a);
jss.threeWaysQuickSort(a);
jss.heapSort(a);

Additionally user can specify the range in "a" to do the sorting as well as customized comparer:

var comparer = function(a1, a2){
    return a1 - a2;
};

jss.insertionSort(a, lo, hi, comparer);

Sample code is available at playground

Using with nodejs

jssort = require('js-sorting-algorithms');

//====================Simple====================//

var a = [3, 4, 5, 1, 2, 4, 6, 8, 9, 3, 4, 67, 34, 53, 44, 2];
jssort.insertionSort(a);
console.log(a);

//====================Sort with custom comparer function====================//
var a = [[3, 2.3], [4, 3.1], [5, 1.1], [1, 4.2], [2, 4.2], [4, 5.3], [6, 7.4], [8, 5.1], [9, 1.9], [3, 1.2], [4, 3.4], [67, 6.7], [34, 3], [53, 5], [44, 4.2], [2, 0]];
jssort.insertionSort(a, undefined, undefined, function(a1, a2){
         return a1[1] - a2[1];
});
console.log(a);


//====================Sort sub-arrray a[3:10] ====================//
var a = [3, 4, 5, 1, 2, 4, 6, 8, 9, 3, 4, 67, 34, 53, 44, 2];
jssort.insertionSort(a, 3, 10);
console.log(a);

Using with HTML page

Releases

No releases published

Packages

No packages published