Instruções

Algoritmos de ordenação/ordenação de coquetel

O <a href="https://rosettacode.org/wiki/Sorting_algorithms/Cocktail_sort" target="_blank" rel="noopener noreferrer nofollow">cocktail sort</a> é uma melhoria do Bubble Sort. Dado um array de números, a ordenação cocktail fará a travessia do array do início ao fim, movendo o maior número para o final. Em seguida, ela fará a travessia do array de trás para a frente, movendo o menor número para o início. Ela repete essas duas travessias, movendo o próximo maior número e o próximo menor número até suas posições corretas no array until até que este esteja ordenado.

O que fazer:

Escreva uma função que ordene um determinado array usando uma ordenação de coquetel.

Critérios de Aceitação:

Testes:

  • `cocktailSort` deve ser uma função.
  • `cocktailSort([25, 32, 12, 7, 20])` deve retornar um array.
  • `cocktailSort([25, 32, 12, 7, 20])` deve retornar `[7, 12, 20, 25, 32]`.
  • `cocktailSort([38, 45, 35, 8, 13])` deve retornar `[8, 13, 35, 38, 45]`.
  • `cocktailSort([43, 36, 20, 34, 24])` deve retornar `[20, 24, 34, 36, 43]`.
  • `cocktailSort([12, 33, 26, 18, 1, 16, 38])` deve retornar `[1, 12, 16, 18, 26, 33, 38]`.
  • `cocktailSort([3, 39, 48, 16, 1, 4, 29])` deve retornar `[1, 3, 4, 16, 29, 39, 48]`.

Console