Сортировка слиянием с пользовательским компаратором

Rust Средний functions

Задача «Сортировка слиянием с пользовательским компаратором»

Напишите функцию `merge_sort`, которая принимает массив целых чисел и замыкание-компаратор, определяющее порядок сортировки. Функция должна отсортировать массив по возрастанию или убыванию в зависимости от компаратора и вернуть новый отсортированный массив. Задача заключается в реализации алгоритма сортировки слиянием с возможностью передачи пользовательского правила сравнения. Входные данные: сначала целое число n (1 ≤ n ≤ 1000) — количество элементов, затем n целых чисел, затем строка 'asc' для сортировки по возрастанию или 'desc' для убывания. Выходные данные: отсортированный массив через пробел.

Формат ввода

Первая строка: целое число n (1 ≤ n ≤ 1000). Вторая строка: n целых чисел, разделённых пробелами. Третья строка: 'asc' или 'desc'.

Формат вывода

Строка с отсортированными числами, разделёнными пробелами.

main.rs