Código Ruby – Ordenamiento por Inserción Binaria

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

def insercion_binaria(arr)
  n = arr.length
  for i in 1..n-1
    aux = arr[i]
    izq = 0
    der = i - 1
    while izq <= der
      m = (izq + der) / 2
      if aux < arr[m]
        der = m - 1
      else
        izq = m + 1
      end
    end
    j = i - 1
    while j >= izq
      arr[j + 1] = arr[j]
      j -= 1
    end
    arr[izq] = aux
  end
end

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

Deja un comentario