Ordenação por mesclagem com comparador personalizado

Rust Medium functions

Tarefa «Ordenação por mesclagem com comparador personalizado»

Escreva a função `merge_sort`, que recebe um array de números inteiros e um closure-comparador, que determina a ordem de classificação. A função deve ordenar o array em ordem crescente ou decrescente dependendo do comparador e retornar um novo array ordenado. A tarefa consiste em implementar o algoritmo de ordenação por mesclagem com a possibilidade de passar uma regra de comparação personalizada. Dados de entrada: primeiro um número inteiro n (1 ≤ n ≤ 1000) — a quantidade de elementos, depois n números inteiros, em seguida uma string 'asc' para ordenação crescente ou 'desc' para decrescente. Dados de saída: array ordenado separado por espaços.

Formato de Entrada

Primeira linha: um número inteiro n (1 ≤ n ≤ 1000). Segunda linha: n números inteiros separados por espaços. Terceira linha: 'asc' ou 'desc'.

Formato de Saída

Uma string com os números ordenados, separados por espaços.

main.rs