Osserva il meccanismo

Soluzione 1
Sono necessarie (?) n passate su n-1 coppie
def bubble_sort(lista):
n=len(lista)
for i in range(n):
for j in range(n-1):
if(lista[j] > lista[j+1]):
temp =lista[j]
lista[j] =lista[j+1]
lista[j+1]=temp
LISTA=[20,15,10,3]
print(LISTA)
bubble_sort(LISTA)
print(LISTA)
Soluzione 2
Si può migliorare la soluzione precedente
- sono sufficienti n-1 passate (n-1 bolle si sistemano… e l’ultimo numero sarà alla posizione 0…)
- su n-1-i coppie (ogni passata ha una coppia in meno rispetto alla passata precedente)
def bubble_sort(lista):
n=len(lista)
for i in range(n-1):
for j in range(n-1-i):
if(lista[j] > lista[j+1]):
temp =lista[j]
lista[j] =lista[j+1]
lista[j+1]=temp