Skip to content

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 Status Coverage 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