This commit is contained in:
2025-04-09 08:12:58 +02:00
parent 285cc8662b
commit e9b71d925e

View File

@@ -230,6 +230,7 @@ class Tas_Max(object):
self.elements.append(element) self.elements.append(element)
self.taille += 1 self.taille += 1
self.tamiser(self.taille) self.tamiser(self.taille)
return None
def extraire_racine(self): def extraire_racine(self):
if self.taille == 0: if self.taille == 0:
@@ -248,11 +249,15 @@ def liste_vers_tas_max(liste):
for i in liste: for i in liste:
tas.ajouter(i) tas.ajouter(i)
return tas return tas
def tas_max_vers_liste(tas): def tas_max_vers_liste(tas):
resultat = [] resultat = []
while tas.taille > 0: while tas.taille > 0:
resultat.append(tas.extraire_racine()) resultat.append(tas.extraire_racine())
return resultat return resultat
def convertir_liste_en_tas(liste): def convertir_liste_en_tas(liste):
def ratisser(elements, taille, i): def ratisser(elements, taille, i):
plus_grand = i plus_grand = i
@@ -271,6 +276,7 @@ def convertir_liste_en_tas(liste):
for i in range(n // 2 - 1, -1, -1): for i in range(n // 2 - 1, -1, -1):
ratisser(liste, n, i) ratisser(liste, n, i)
if __name__ == "__main__": if __name__ == "__main__":
l1 = [1, 2, 3, 8, 7, 6, 5, 4] l1 = [1, 2, 3, 8, 7, 6, 5, 4]
tas = liste_vers_tas_max(l1) tas = liste_vers_tas_max(l1)