cocktailsort
Cocktail Sort (bidirectional bubble sort) extends bubble sort by operating in two directions. It improves on bubble sort by more quickly moving items to the beginning of the list.
Installation
npm install cocktailsort
# OR with yarn
yarn add cocktailsort
Usage
import sort from 'cocktailsort'
// ascending
sort([4, 2, 0, -1, 9]) // [-1, 0, 2, 4, 9]
// descending
sort([4, 2, 0, -1, 9], (a, b) => b - a) // [9, 5, 2, 0, -1]
// array of objects as input
sort([{ i: 10 }, { i: 2 }, { i: 9 }], (a, b) => a.i - b.i) // [{i: 2}, {i: 9}, {i: 10}]