@shlappas/sorted-array

An array that keeps its elements in order

Usage no npm install needed!

<script type="module">
  import shlappasSortedArray from 'https://cdn.skypack.dev/@shlappas/sorted-array';
</script>

README

Sorted Array

Sometimes you have an array that needs to be kept in order through pushes and pops etc.

// Becomes slow as arrays get larger. O(n log n)
arr.push(value)
arr.sort()

// May check all values; not binary search.
arr.indexOf(value)

This module provides an API similar to the builtin javascript Array, but remains sorted after insertion and deletion.

const arr = new SortedArray((a, b) => a - b)

// Each insert runs in O(log n)
arr.insert(5) // [ 5 ]
arr.insert(10) // [ 5 10 ]
arr.insert(1) // [ 1 5 10 ]
arr.insert(5) // [ 1 5 5 10 ]

arr.forEach((v) => console.log(v)) // 1 5 5 10

Usage

Check out the docs!

Installation

yarn add @shlappas/sorted-array

See Also

This modules is very similar to sorted-set. (both use a weight-balanced tree in the background)