Реализуйте функцию sort
аналогичную стандартной Array#sort.
В этой задаче нужно реализовать быструю (O(n×log₂n)) сортировку слиянием.
Функция сортировки принимает два аргумента: массив arr
и функцию сравнения двух элементов compareFn
. Она ничего не возвращает, сортирует in-place (то есть переставляет элементы в исходном массиве).
compareFn
compareFn
принимает два аргумента a
и b
и возвращает число:
Если compareFn
не передается, функция сортирует исходный массив по возрастанию, сравнивая элементы как строки.
compareFn
const arr = ["zer", "abc", "a", "xxyyzz", "bz"]; sort(arr); console.log(arr); // ["a", "abc", "bz", "xxyyzz", "zer"]
compareFn
const arr = [12, 5, 1, 3, 23]; sort(arr); console.log(arr); // [1, 12, 23, 3, 5]
const arr = ["zerp", "abc", "a", "xxyyzz", "bz"]; sort(arr, (a, b) => b.length - a.length); console.log(arr); // ["xxyyzz", "zerp", "abc", "bz", "a"]