Instruções
Algoritmos de ordenação/ordenação fantoche
Escreva uma função para executar o Stooge Sort em um array de inteiros. A função deve retornar um array ordenado.
O algoritmo de ordenação fantoche é o seguinte:
<pre><b>algorithm</b> stoogesort(<b>array</b> L, i = 0, j = <b>length</b>(L)-1)
<b>if</b> L[j] < L[i] <b>then</b>
L[i] <b>↔</b> L[j]
<b>if</b> j - i > 1 <b>then</b>
t <b>:=</b> (j - i + 1)/3
stoogesort(L, i , j-t)
stoogesort(L, i+t, j )
stoogesort(L, i , j-t)
<b>return</b> L
</pre>
O que fazer:
Testes:
- `stoogeSort` deve ser uma função.
- `stoogeSort([25, 32, 12, 7, 20])` deve retornar um array.
- `stoogeSort([25, 32, 12, 7, 20])` deve retornar `[7, 12, 20, 25, 32]`.
- `stoogeSort([38, 45, 35, 8, 13])` deve retornar `[8, 13, 35, 38, 45]`.
- `stoogeSort([43, 36, 20, 34, 24])` deve retornar `[20, 24, 34, 36, 43]`.
- `stoogeSort([12, 33, 26, 18, 1, 16, 38])` deve retornar `[1, 12, 16, 18, 26, 33, 38]`.
- `stoogeSort([3, 39, 48, 16, 1, 4, 29])` deve retornar `[1, 3, 4, 16, 29, 39, 48]`.
Console