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)

Annexes

Liens

Lien vers le notebook

    Sur Capytale

Pièces jointes