Ordenamiento tipo burbuja mejorado en Python 2da parte [65]
En este tutorial vamos continuar con la 2da parte del ordenamiento tipo burbuja mejorado en Python siguiendo estos pasos:
Después de cada pasada (el bucle for más externo), el elemento de más valor se ubica en el extremo del arreglo. Lo que significa que toma su posición correcta, por este motivo sería conveniente que en vez de realizar todas las comparaciones en la segunda pasada, se haga una comparación menos. Para esto usamos una variable comparaciones la cual cada vez que se complete un ciclo for externo (una pasada), se decrementa en 1 mediante la instruccion comparaciones–.
Codigo: https://github.com/programadornovato/curso-python/commit/e0abfb41bd65fa9bdd2f6fb3d3069fc0bd143116
def pedirDatos(): lista=[] while True: n=int(input("Humano ingres el numero que quieras (0 para terminar):")) if n==0: return lista else: lista.append(n) return lista def burbuja(lista): cont=0 ordenado=False tamano=len(lista) comparaciones=tamano for _ in range(0,tamano): if ordenado==True: break for j in range(0,comparaciones-1): ordenado=True cont=cont+1 if lista[j]>lista[j+1]: ordenado=False aux=lista[j] lista[j]=lista[j+1] lista[j+1]=aux comparaciones=comparaciones-1 return lista,cont def mostrarLista(lista,cont): tam=len(lista) print(f"Humano aqui esta tu piche lista ordenada en {cont} ciclos de forma acendente:") for i in range(0,tam): print(f"{lista[i]}") print(f"Humano aqui esta tu piche lista ordenada en {cont} ciclos de forma desendente:") for i in range(tam,0,-1): print(f"{lista[i-1]}") lista=pedirDatos() lista,cont=burbuja(lista) mostrarLista(lista,cont)
🎦[CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
🎦[CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato
🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
<<Anterior tutorial Siguiente tutorial >>