Ordenación mediante algoritmo híbrido de mezcla y ordenación rápida

JavaScript Hard sorting

Tarea «Ordenación mediante algoritmo híbrido de mezcla y ordenación rápida»

Implemente un algoritmo de ordenación híbrido que utilice ordenación rápida (quicksort) para dividir el array, y si el tamaño del subarray es menor o igual a 10, aplique ordenación por mezcla (merge sort) para ese subarray. La entrada consta de dos arrays de números enteros. Deben combinarse en un solo array, ordenarse de forma ascendente mediante el algoritmo híbrido y mostrar el resultado. Restricciones: la longitud de cada array no supera 10^5, los elementos son números enteros de -10^9 a 10^9.

Formato de entrada

La primera línea contiene un número entero n — la cantidad de elementos en el primer array. La segunda línea contiene n números enteros separados por espacios. La tercera línea contiene un número entero m — la cantidad de elementos en el segundo array. La cuarta línea contiene m números enteros separados por espacios.

Formato de salida

Una sola línea que contiene los elementos ordenados del array combinado, separados por espacios.

Ejemplos

Ejemplo 1

ENTRADA
3 1 3 5 2 2 4
SALIDA
1 2 3 4 5

Ejemplo 2

ENTRADA
1 10 1 5
SALIDA
5 10

Ejemplo 3

ENTRADA
0 0
SALIDA
main.js