Mergesort mit benutzerdefiniertem Komparator

Rust Medium functions

Aufgabe «Mergesort mit benutzerdefiniertem Komparator»

Schreiben Sie eine Funktion `merge_sort`, die ein Array von ganzen Zahlen und einen Closure-Komparator annimmt, der die Sortierreihenfolge bestimmt. Die Funktion soll das Array aufsteigend oder absteigend sortieren, abhängig vom Komparator, und ein neues sortiertes Array zurückgeben. Die Aufgabe besteht in der Implementierung des Mergesort-Algorithmus mit der Möglichkeit, eine benutzerdefinierte Vergleichsregel zu übergeben. Eingabedaten: zuerst eine ganze Zahl n (1 ≤ n ≤ 1000) — die Anzahl der Elemente, dann n ganze Zahlen, dann ein String 'asc' für aufsteigende oder 'desc' für absteigende Sortierung. Ausgabedaten: das sortierte Array, durch Leerzeichen getrennt.

Eingabeformat

Erste Zeile: ganze Zahl n (1 ≤ n ≤ 1000). Zweite Zeile: n ganze Zahlen, durch Leerzeichen getrennt. Dritte Zeile: 'asc' oder 'desc'.

Ausgabeformat

Zeile mit den sortierten Zahlen, durch Leerzeichen getrennt.

main.rs