Écrire une fonction python triant une liste de bulles suivant l'algorithme proposé dans la page précédente.
- un code possible
- avec traces
from random import randint
def tri_bulles(bulles):
n = len(bulles)
for i in range(0,n-1):
for j in range(n-1,i,-1):
if bulles[j] < bulles[j-1]:
bulles[j], bulles[j-1] = bulles[j-1], bulles[j]
champagne = [ randint(1,15) for _ in range(randint(5,15)) ]
print(champagne)
tri_bulles(champagne)
print(champagne)
from random import randint
def afficher(liste, i, j):
for x in liste:
print(x, end=' ')
print()
for k in range(len(liste)):
if k == i : print("i ", end=' ')
elif k == j : print("j ", end=' ')
else : print(" ", end=' ')
print()
print()
def tri_bulles(bulles):
n = len(bulles)
for i in range(0,n-1):
for j in range(n-1,i,-1):
afficher(bulles, i, j)
if bulles[j] < bulles[j-1]:
bulles[j], bulles[j-1] = bulles[j-1], bulles[j]
champagne = [ randint(10,99) for _ in range(randint(5,15)) ]
print(champagne)
tri_bulles(champagne)
print(champagne)
On obtient par exemple :
[23, 46, 43, 84, 53, 93, 86, 42, 15, 54, 39] 23 46 43 84 53 93 86 42 15 54 39 i j 23 46 43 84 53 93 86 42 15 39 54 i j 23 46 43 84 53 93 86 42 15 39 54 i j 23 46 43 84 53 93 86 15 42 39 54 i j 23 46 43 84 53 93 15 86 42 39 54 i j 23 46 43 84 53 15 93 86 42 39 54 i j 23 46 43 84 15 53 93 86 42 39 54 i j 23 46 43 15 84 53 93 86 42 39 54 i j 23 46 15 43 84 53 93 86 42 39 54 i j 23 15 46 43 84 53 93 86 42 39 54 i j 15 23 46 43 84 53 93 86 42 39 54 i j 15 23 46 43 84 53 93 86 42 39 54 i j 15 23 46 43 84 53 93 86 39 42 54 i j 15 23 46 43 84 53 93 39 86 42 54 i j 15 23 46 43 84 53 39 93 86 42 54 i j 15 23 46 43 84 39 53 93 86 42 54 i j 15 23 46 43 39 84 53 93 86 42 54 i j 15 23 46 39 43 84 53 93 86 42 54 i j 15 23 39 46 43 84 53 93 86 42 54 i j 15 23 39 46 43 84 53 93 86 42 54 i j 15 23 39 46 43 84 53 93 86 42 54 i j 15 23 39 46 43 84 53 93 42 86 54 i j 15 23 39 46 43 84 53 42 93 86 54 i j 15 23 39 46 43 84 42 53 93 86 54 i j 15 23 39 46 43 42 84 53 93 86 54 i j 15 23 39 46 42 43 84 53 93 86 54 i j 15 23 39 42 46 43 84 53 93 86 54 i j 15 23 39 42 46 43 84 53 93 86 54 i j 15 23 39 42 46 43 84 53 93 54 86 i j 15 23 39 42 46 43 84 53 54 93 86 i j 15 23 39 42 46 43 84 53 54 93 86 i j 15 23 39 42 46 43 53 84 54 93 86 i j 15 23 39 42 46 43 53 84 54 93 86 i j 15 23 39 42 43 46 53 84 54 93 86 i j 15 23 39 42 43 46 53 84 54 93 86 i j 15 23 39 42 43 46 53 84 54 86 93 i j 15 23 39 42 43 46 53 84 54 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j 15 23 39 42 43 46 53 54 84 86 93 i j [15, 23, 39, 42, 43, 46, 53, 54, 84, 86, 93]