项目作者: cschen1205

项目描述 :
Package provides javascript of array sorting algorithms
高级语言: JavaScript
项目地址: git://github.com/cschen1205/js-sorting-algorithms.git
创建时间: 2017-05-23T03:12:45Z
项目社区:https://github.com/cschen1205/js-sorting-algorithms

开源协议:MIT License

下载


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

  1. npm install js-sorting-algorithms

Usage

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

  1. jss.insertionSort(a);
  2. jss.selectionSort(a);
  3. jss.shellSort(a);
  4. jss.mergeSort(a);
  5. jss.quickSort(a);
  6. jss.threeWaysQuickSort(a);
  7. jss.heapSort(a);

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

  1. var comparer = function(a1, a2){
  2. return a1 - a2;
  3. };
  4. jss.insertionSort(a, lo, hi, comparer);

Sample code is available at playground

Using with nodejs

  1. jssort = require('js-sorting-algorithms');
  2. //====================Simple====================//
  3. var a = [3, 4, 5, 1, 2, 4, 6, 8, 9, 3, 4, 67, 34, 53, 44, 2];
  4. jssort.insertionSort(a);
  5. console.log(a);
  6. //====================Sort with custom comparer function====================//
  7. 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]];
  8. jssort.insertionSort(a, undefined, undefined, function(a1, a2){
  9. return a1[1] - a2[1];
  10. });
  11. console.log(a);
  12. //====================Sort sub-arrray a[3:10] ====================//
  13. var a = [3, 4, 5, 1, 2, 4, 6, 8, 9, 3, 4, 67, 34, 53, 44, 2];
  14. jssort.insertionSort(a, 3, 10);
  15. console.log(a);

Using with HTML page