PYTHON Ordenamiento tipo burbuja mejorado [64]

Si los la lista de números ya está ordenada ya no hay necesidad de seguir ordenando y hay que terminar el ciclo. Para lograr esto colocaremos una bandera en los ciclos para validar que estén o no ordenados.

Codigo: https://github.com/programadornovato/curso-python/commit/cb0419e157a2fb5e75a9bd65e41a4edb8d0ae0ee

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)
    for _ in range(0,tamano):
        if ordenado==True:
            break
        for j in range(0,tamano-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
    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)

🎦[16.-Curso de PYTHON 2019 [Ejercicio 04.- Intercambio de valores de dos variables]🐍👈👈👈: https://www.youtube.com/watch?v=M-dB3hh5P6M
🎦[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

Eugenio Chaparro

Entradas recientes

Ejercicio.- Adivinar un numero random en kotlin (Curso de Kotlin desde cero [34])

Ejercicio.- Adivinar un numero random en kotlin (Curso de Kotlin desde cero [34])

En este tutorial vamos a hacer un programa que: Generamos un número aleatorio entre 1…

5 meses hace
Ejercicio.- Dibujar una escalera con asteriscos con ciclo for (Curso de Kotlin desde cero [33])

Ejercicio.- Dibujar una escalera con asteriscos con ciclo for (Curso de Kotlin desde cero [33])

Crear un programa en kotlin dibuje una escalera de asteriscos. Pedir al humano el tamaño…

5 meses hace
Ciclo for (Curso de Kotlin desde cero [32])

Ciclo for (Curso de Kotlin desde cero [32])

Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas…

5 meses hace
Ciclo do while (Curso de Kotlin desde cero [31])

Ciclo do while (Curso de Kotlin desde cero [31])

La sentencia (hacer mientras) crea un bucle que ejecuta una sentencia especificada, hasta que la…

5 meses hace
Ciclos while (Curso de Kotlin desde cero [30])

Ciclos while (Curso de Kotlin desde cero [30])

Los ciclos while son una estructura cíclica, que nos permite ejecutar una o varias líneas…

5 meses hace
Ejercicio.- Juego de azar con dados (Curso de Kotlin desde cero [29])

Ejercicio.- Juego de azar con dados (Curso de Kotlin desde cero [29])

En este tutorial vamos a crear un juego de azar con las siguientes características.En una…

5 meses hace