Merge Sort

Sort an array using the merge sort algorithm with O(n log n) time complexity.

Code

Algorithms
const merge = (l, r) => {
  const result = [];
  while (l.length && r.length) result.push(l[0] <= r[0] ? l.shift() : r.shift());
  return [...result, ...l, ...r];
};
const mergeSort = a => a.length <= 1 ? a : merge(
  mergeSort(a.slice(0, Math.floor(a.length / 2))),
  mergeSort(a.slice(Math.floor(a.length / 2)))
);
return mergeSort(arr);

Parameters

Array to sort

Browser·fetch() may be limited by CORS

More JavaScript Snippets