Consignes
- Former 3 groupes.
- Pour résoudre ces challenges il faudra produire utiliser des piles ou des files.
- Chaque challenge peut rapporter 5 points.
- Une aide est disponible pour chaque challenge mais coûte 1,5 points.
- L’interface d’une liste chaînée propose les fonctionnalités pour utiliser la structure :
- vérifier si la liste est vide,
- renvoyer la taille de la liste,
- renvoyer l’élément de rang n,
- insérer un élément.
La programmation orientée objet est un choix d’implémentation possible. Il n’est pas unique.
class Maillon:
"""
Crée un maillon de la liste chaînée
"""
def __init__(self, val: int, suiv: object):
self.valeur = val
self.suivant = suiv
class Liste:
"""
Crée une liste chaînée
"""
def __init__(self):
# selt.tete référence un Maillon
self.tete = None
Les méthodes ajoutées à l’objet Liste implémenteront l’interface proposée.
class Liste:
"""
Crée une liste chaînée
"""
def __init__(self):
# selt.tete référence un Maillon
self.tete = None
def est_vide(self) -> bool:
return self.tete is None
def ajouter(self, val: int) -> None:
self.tete = Maillon(val, self.tete)