Solution de l’exercice 6.1

Pour insérer un nouvel élément dans une liste, il faut déjà disposer d’un noeud. Mais on ne peut pas initialiser un noeud correctement, puisqu’il n’y a pas d’accès aux champs. Une solution consisterait à définir une méthode élémentaire qui crée un nouveau noeud, point de départ d’une liste chaînée :

noeud* noeud::cree(element e)          {              noeud *nouveau = new noeud;              if (!nouveau) return 0;              nouveau->suivt = 0;              nouveau->elm = e;              return nouveau;          }

Cette méthode peut être appelée par un noeud non initialisé puisqu’elle n’utilise pas les champs de this. On aurait pu aussi déclarer cette méthode statique. Les constructeurs sont toutefois une solution plus simple (voir ultérieurement dans le chapitre).


Retour au texte.