merge-k-sorted-arrays
Merges 2 or more sorted arrays efficiently using a priority queue.
See https://algorithms.tutorialhorizon.com/merge-k-sorted-arrays/ for an explanation of the algorithm.
Usage
npm install --save merge-k-sorted-arrays
Pass an array of the arrays to merge as the first argument:
var merge = // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
With custom comparator
You may pass an optional custom comparator:
// [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
Merging parallel arrays
Let's say you want to merge arrays of times and their corresponding values.
If you pass the outputMetadata: true
option, merge
will return
[indexOfSourceArray, indexInSourceArray, value]
tuples that you can use to
var times = 0 2 4 6 1 3 5 7var values = 10 20 50 40 80 70 30 60 var merged = var mergedTimes = merged// [0, 1, 2, 3, 4, 5, 6, 7]var mergedValues = merged// [10, 80, 20, 70, 50, 30, 40, 60]