Ordenamiento por mezcla para listas enlazadas

Go Hard sorting

Tarea «Ordenamiento por mezcla para listas enlazadas»

Dada una lista simplemente enlazada compuesta por números enteros. Es necesario implementar el ordenamiento por mezcla para esta lista. Datos de entrada: la cantidad de elementos y los propios elementos. Datos de salida: la lista ordenada, mostrada separada por espacios. Restricciones: cantidad de elementos hasta 10^5, valores en el rango de -10^9 a 10^9. Se requiere utilizar el algoritmo de ordenamiento por mezcla con complejidad O(n log n) y no utilizar arreglos adicionales para almacenar los valores.

Formato de entrada

Primera línea: un número entero n (1 ≤ n ≤ 10^5) — la cantidad de elementos. Segunda línea: n números enteros separados por espacios.

Formato de salida

Una línea: n números enteros separados por espacios — la lista ordenada.

Ejemplos

Ejemplo 1

ENTRADA
6 -5 0 10 3 -2 7
SALIDA
-5 -2 0 3 7 10
main.go