mirror of
https://github.com/Fare-spec/cours.git
synced 2025-12-07 10:50:36 +00:00
finish the merge_sort function
This commit is contained in:
@@ -65,10 +65,22 @@ def fusion(gauche,droite):
|
|||||||
else:
|
else:
|
||||||
return fifo.ajouter(fusion(gauche,fifo.queue(droite)),fifo.tete(droite))
|
return fifo.ajouter(fusion(gauche,fifo.queue(droite)),fifo.tete(droite))
|
||||||
|
|
||||||
liste_initiale = fifo.creer_liste()
|
|
||||||
for i in reversed(range(10)):
|
|
||||||
liste_initiale = fifo.ajouter(liste_initiale, i)
|
def merge_sort(liste):
|
||||||
gauche, droite = partition(liste_initiale,3 ,7)
|
|
||||||
print(gauche, droite)
|
if fifo.est_vide(liste):
|
||||||
print(taille(liste_initiale))
|
return liste
|
||||||
|
elif fifo.est_vide(fifo.queue(liste)):
|
||||||
|
return liste # si elle ne contient que un elt
|
||||||
|
gauche, droite = divise2(liste)
|
||||||
|
|
||||||
|
|
||||||
|
tri1 = merge_sort(gauche) # recursif
|
||||||
|
tri2 = merge_sort(droite) # recursif
|
||||||
|
|
||||||
|
return fusion(tri1,tri2)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user