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] &#x3C; 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