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}"