Adloun

NSI (terminale) · Chapitre 9 · Exercice d'entraînement

Une liste chaînée objet

La programmation orientée objet · Structures de données en POO · niveau 3 (difficile)

Énoncé

Une liste chaînée objet. Une liste chaînée est formée de maillons ; chaque maillon contient une valeur et une référence vers le maillon suivant (None pour le dernier).


class Maillon:
    def __init__(self, valeur, suivant=None):
        self.valeur = valeur
        self.suivant = suivant

Écrire une classe ListeChainee, dont l'unique attribut tete désigne le premier maillon (None si la liste est vide), avec :

  • une méthode ajouter_en_tete(valeur) en temps constant ;
  • la méthode __len__ ;
  • la méthode __str__, qui renvoie par exemple 3 -> 2 -> 1, ou vide ;
  • une méthode inverser() qui renverse l'ordre de la liste sans créer de nouveau maillon, en modifiant les références.

Donner la complexité de chaque méthode.

Un exercice à chercher : son corrigé n'est pas publié. Sur Adloun, le tuteur guide par questions, sans donner la réponse.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre