Bonjour
Tout d'abord mon niveau dans ce domaine est plutôt débutant (voire carrément)
Pour implémenter ne liste chainée j'ai crée la classe Cellule
Sur le livre où je m'inspire (trrès fortement) pour comprendre ces notions voici comment s'implémente une file avec quelques méthodes :Code:class Cellule: """ définit la classe Cellule""" def __init__(self,v,s): self.valeur = v self.suivante = s
J'aimerais vos lumières car je ne comprends pas pourquoi la méthode "enfiler" dans ce cas fonctionne,Code:class File: def __init__(self): self.tete = None self.queue = None def enfiler(self,x): c = Cellule(x,None) if self.tete is None: self.tete = c else: self.queue.suivante = c self.queue = c def __str__(self): if self.tete is None: res = '' else : res = '' l = self.tete while not l is None: res = res + str(l.valeur) + ' ' l = l.suivante l1 = self.queue res= res+'|' while not l1 is None: res = res + str(l1.valeur)+' ' l1 = l1.suivante return res
il serait question de liste "mutable" mais je ne vois pas pourquoi l'attribut tete qui dans le programme ne s'initialise qu'au début avec la première cellule finit par récupérer tout de même les autres éléments au fur et à mesure que j'"enfile" des valeurs.
j'aimerais comprendre ce qui se passe ...
Merci 100000000 fois pour votre aide
-----