Skip to content

coderosh/cocktailsort

Repository files navigation

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.

NPM MIT CI PRs welcome!

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}]