Ordenação por algoritmo híbrido de merge sort e quicksort

JavaScript Hard sorting

Tarefa «Ordenação por algoritmo híbrido de merge sort e quicksort»

Implemente um algoritmo de ordenação híbrido que utiliza quicksort para particionar o array e, se o tamanho do subarray for menor ou igual a 10, aplica merge sort nesse subarray. A entrada consiste em dois arrays de números inteiros. É necessário combiná-los em um único array, ordená-lo em ordem crescente usando o algoritmo híbrido e exibir o resultado. Restrições: o comprimento de cada array não excede 10^5, os elementos são números inteiros de -10^9 a 10^9.

Formato de Entrada

A primeira linha contém um número inteiro n — a quantidade de elementos no primeiro array. A segunda linha contém n números inteiros separados por espaços. A terceira linha contém um número inteiro m — a quantidade de elementos no segundo array. A quarta linha contém m números inteiros separados por espaços.

Formato de Saída

Uma única linha contendo os elementos ordenados do array combinado, separados por espaços.

Exemplos

Exemplo 1

ENTRADA
3 1 3 5 2 2 4
SAÍDA
1 2 3 4 5

Exemplo 2

ENTRADA
1 10 1 5
SAÍDA
5 10

Exemplo 3

ENTRADA
0 0
SAÍDA
main.js