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 Heapsort:
def heapsort(lista):
tam = len(lista)
for k in range(tam - 1, -1, -1):
for i in range(0, k):
item = lista[i]
j = (i + 1) // 2
while j >= 0 and lista[j] < item:
lista[i] = lista[j]
i = j
j = j // 2
lista[i] = item
temp = lista[0]
lista[0] = lista[k]
lista[k] = temp
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()
heapsort(A)
imprimeLista(A)
Pueder ir al artículo principal:
Códigos Sencillos hechos en Python
It doesn’t work asshole, try something else. I tried modifying a few couple times and it didn’t work
Ese no es el heapsort
Es por que en la division tiene que en ves de poner / reemplazar por //
horrible tu codigo no funciona