ListeChaine
Maillon
Question 1 - Créer un fichier Maillon.py
qui contiendra la classe Maillon
.
Question 2 - Écrire le constructeur de la classe Maillon
avec les attributs suivants :
valeur
: Cet attribut contient la valeur que l’on veut stocker dans notre maillon.suivant
: Cet attribut indique le maillon suivant.Il est possible de mettre une valeur par défaut pour les paramètres du constructeur grâce à la
syntaxe ci-dessous :
def __init__(self, valeur=None, suivant=None):
Question 3 - Écrire la méthode __str__
. Cette fonction retourne une chaîne de caractères avec la valeur du maillon.
def __str__(self) -> str :
pass
ListeChaine
Question 1 - Créer un fichier ListeChaine.py
qui contiendra la classe ListeChaine
.
Question 4 - Écrire le constructeur de la classe ListeChaine
avec l’attribut suivant :
premier
: Cet attribut contiendra le premier maillon de la liste chainée.Question 5 - Écrire la méthode append
. Cette fonction prend en paramètre un nouvel élément. Elle ajoute un nouvel élément dans la liste chainée, c'est-à-dire l’ajout d’un nouveau maillon dans la liste.
def append(self, valeur) -> None:
pass
Question 6 - Écrire la méthode __str__
. Cette fonction retourne une chaine de caractères avec l’ensemble des valeurs des maillons de la liste chainée.
def __str__(self) -> str :
pass
Question 7 - Écrire la méthode __len__
. Cette fonction retourne le nombre de valeurs de la liste chainée.
def __len__(self) -> int :
pass
Question 8 - Écrire la méthode get_valeur
. Cette fonction prend en paramètre un nombre entier. Elle retourne la valeur à la position i
. Si le nombre passé en paramètre n’est pas correct, la fonction retourne une exception du type InndexError
grâce à la syntaxe ci-dessous.
return IndexError('Indice incorrect')
def get_valeur(self) -> Object :
pass
Question 9 - Écrire la méthode get_maillon
. Cette fonction prend en paramètre un nombre entier. Elle retourne le maillon à la position i
dans la liste chainée.
def get_maillon(self) -> Maillon :
pass
Question 10 - Écrire la méthode insert
. Cette fonction prend en paramètre un nombre entier. Elle ajoute une nouvelle valeur dans la liste à la position i
. Si le nombre passé en paramètre est plus grand que la taille de la liste, la méthode ajoute l’élément la fin de la liste.
def insert(self, i, m) -> None :
pass
Question 11 - Écrire la méthode delete
. Cette fonction prend en paramètre un nombre entier. Elle supprime le maillon à la position i
.
def delete(self, i) -> None :
pass
Question 12 - Écrire la méthode concatener
. Cette fonction prend en paramètre une autre liste chaînée l2
. Elle concatène la liste l2
à la fin de la liste courante.
def concatener(self, liste2) -> None :
pass
Question 13 - Écrire la méthode index
. Cette méthode prend en paramètre un élément de la liste. Elle retourne l'indice de cet élément dans la liste.
ValueError: 4 is not in list
def index(self, valeur):
pass
Question 14 - Écrire la méthode clear
qui vide totalement la liste.
def clear(self):
pass
Dans la liste doublement chaînée, chaque nœud a trois attributs :
Pour le nœud de départ de la liste chaînée, la référence au nœud précédent est nulle. De même, pour le dernier nœud de la liste chaînée, la référence au nœud suivant est nulle.
Question 1 - En vous inspirant de la classe ListeChainee
, implémenter la classe ListDoublementChaine
. On ajoutera les méthodes les plus utiles : append
, insert
...