Código Ruby – Ordenamiento Shell

El código realiza un Ordenamiento de datos numéricos haciendo uso del Método Shell en Ruby:

def shell_sort(arr)
  n = arr.length
  gap = n / 2
  while gap > 0
    for i in gap..n-1
      temp = arr[i]
      j = i
      while j >= gap && arr[j - gap] > temp
        arr[j] = arr[j - gap]
        j -= gap
      end
      arr[j] = temp
    end
    gap /= 2
  end
end

arr = [64, 34, 25, 12, 22, 11, 90]
shell_sort(arr)
puts "Arreglo ordenado: #{arr}"

Deja un comentario