El siguiente post pertenece al topic: Métodos de Ordenamiento codificados en Python.
El código realiza un Ordenamiento de datos numéricos haciendo uso del Método de Inserción Binaria:
def insercionBinaria(lista):
tam = len(lista)
for i in range(1, tam):
aux = lista[i]
izq = 0
der = i - 1
while izq <= der:
m = (izq + der) // 2
if aux < lista[m]:
der = m - 1
else:
izq = m + 1
j = i - 1
while j >= izq:
lista[j + 1] = lista[j]
j = j - 1
lista[izq] = aux
def imprimeLista(lista):
for num in lista:
print(num)
def leeLista():
lista = []
cn = int(input("Cantidad de números a ingresar: "))
for i in range(cn):
lista.append(int(input("Ingrese número %d: " % i)))
return lista
A = leeLista()
insercionBinaria(A)
imprimeLista(A)
Pueder ir al artículo principal:
Códigos Sencillos hechos en Python