# coding: utf-8 from typing import TypeVar, Generic C = TypeVar('Chainon') class Chainon : """ Un chaînon d'une liste chaînée. Un chaînon contient 2 attributs : - val : la valeur - next : le Chainon suivant ou None si c'est le dernier chaînon de la liste """ def __init__(self:C, valeur, suivant:C=None) ->None: """ Constructeur = crée un objet de classe Chainon """ pass def __str__(self:C) ->str: """ Affiche le Chainon (résultat de la fonction print) """ pass def longueur(self:C) ->int: """ Renvoie le nombre de Chainon de la chaîne """ pass def n_ieme_element(self:C, n:int): """ Renvoie la valeur du n-ième élément de la liste chainée passée en argument """ pass def concatener(self:C, autre:C) ->C: """ renvoie une liste chainée obtenue par concaténation du Chainon courant et d'un autre """ pass def renverser(self:C) ->C: """ Renvoie une nouvelle liste dont le sens est renversé """ pass def inserer(self:C, valeur, indice:int) ->None: """ Insère l'élément valeur à la position indice dans la liste. """ pass def supprimer(self:C, indice:int) ->None: """ Supprime le chainon en position indice de la liste chainée. """ pass def occurences(self:C, valeur) ->int: """ Renvoie le nombre d’occurrence de valeur dans la liste chainée. """ pass def premiere_occurence(self:C, valeur, indice=0) ->int: """ Renvoie l'indice de la première occurrence de valeur dans la liste chainée. """ pass def identique(self:C, autre:C) ->bool: """ Renvoie True si les deux chaines contiennent les mêmes valeurs dans le même ordre, et False sinon. """ pass