Código Python – Ordenamiento por Inserción Binaria

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

Deja un comentario