Instruções
Algoritmos de ordenação/ordenação strand
O Strand sort cria subconjuntos ordenados que são mesclados para criar o resultado final.
Considere
unsortedArray = [3, 1, 4, 2]. Escolha o primeiro item 3 e copie-o para um array separado. Procure por qualquer item maior após este item. Quando você encontrar um item maior, neste caso, 4, copie-o para o array separado, [3, 4], e compare os itens a seguir com este novo valor, 4.
Após chegar ao fim do array, remova os itens que você copiou, [3, 4], e comece novamente com o primeiro item restante no unsortedArray, neste caso 1.
Após este processo, teremos dois arrays ordenados, [3, 4] e [1, 2]. Mescle esses dois arrays para criar o strandSortedArray.
const unsortedArray = [3, 1, 4, 2];
const strandsortedArray = [1, 2, 3, 4];
Escreva uma função para ordenar um array usando o Strand sort. A função deve retornar o array ordenado.
O que fazer:
Testes:
- `strandSort` deve ser uma função.
- `strandSort([25, 32, 12, 7, 20])` deve retornar um array.
- `strandSort([25, 32, 12, 7, 20])` deve retornar `[7, 12, 20, 25, 32]`.
- `strandSort([38, 45, 35, 8, 13])` deve retornar `[8, 13, 35, 38, 45]`.
- `strandSort([43, 36, 20, 34, 24])` deve retornar `[20, 24, 34, 36, 43]`.
- `strandSort([12, 33, 26, 18, 1, 16, 38])` deve retornar `[1, 12, 16, 18, 26, 33, 38]`.
- `strandSort([3, 39, 48, 16, 1, 4, 29])` deve retornar `[1, 3, 4, 16, 29, 39, 48]`.
Console