Tri à bulles en python 3.0 à partir d'un algorithme
Résolu
Bonjour,
voilà l'algorithme que j'ai à mettre en python :
Données : Une liste à trier notée L
Résultat : une liste L triée
Variables : k, temp : entier
début bloc principal
k <- -1 ;
tant que k < taille(L) faire
k <- k+1;
si L[k]>L[k+1] alors
temp <- L[k];
L[k] <- L[k+1];
L[k+1] <- temp;
k <- -1;
moi j'ai fait :
k=-1
while k < len(L):
k=(k+1)
if L[k] > L[k+1]:
temp=L[k]
L[k]=L[k+1]
L[k+1]=temp
k=-1
On doit juste présenter ça sous forme d'une fonction, mais ça me mets avec aptana qu'il y a un problème à " if L[k] > L[k+1]"
aidez-moi s'il vous plaît
voilà l'algorithme que j'ai à mettre en python :
Données : Une liste à trier notée L
Résultat : une liste L triée
Variables : k, temp : entier
début bloc principal
k <- -1 ;
tant que k < taille(L) faire
k <- k+1;
si L[k]>L[k+1] alors
temp <- L[k];
L[k] <- L[k+1];
L[k+1] <- temp;
k <- -1;
moi j'ai fait :
k=-1
while k < len(L):
k=(k+1)
if L[k] > L[k+1]:
temp=L[k]
L[k]=L[k+1]
L[k+1]=temp
k=-1
On doit juste présenter ça sous forme d'une fonction, mais ça me mets avec aptana qu'il y a un problème à " if L[k] > L[k+1]"
aidez-moi s'il vous plaît
2 réponses
-
Bonjour youterk,
Je pense,
....tant que k < taille(L) faire
est mauvais
....tant que k < taille(L-1) faire
est correct si le premier élément du tableau est 1
....tant que k < taille(L-2) faire
est correct si le premier élément du tableau est 0-
-
-
On doit juste présenter ça sous forme d'une fonction, mais ça me mets avec aptana qu'il y a un problème à " if L[k] > L[k+1]"
Admettons ce tablo de 6 éléments : t(0) = 2, t(1) = 1, t(2) = 3, t(3) = 4, t(4) = 5, t(5) = 6.
k=0: t(0)>t(1) = VRAI, donc on permute.
On recommence, puisque k=-1
t(0) = 1, t(1) = 2, t(2) = 3, t(3) = 4, t(4) = 5, t(5) = 6. (tout est maintenant dans l'ordre pour aller vite )
k=0: t(0)>t(1) = FAUX, on continue ...
k=1: t(1)>t(2) = FAUX, on continue ...
k=2: t(2)>t(3) = FAUX, on continue ...
k=3: t(3)>t(4) = FAUX, on continue ...
k=4: t(4)>t(5) = FAUX, on continue ...
k=5: t(5)>t(6) = FAUX, on continue ... >>> t(6) n'existe pas !
et k=5 est correct puisque plus petit que Len(tablo)
As-tu compris je ce que je voulais dire ? -
-
-