Comment parcourir une liste chaînée de manière itérative ?
cur = cur.tail dans un while (cur != null)Parcourir tous les éléments d'une liste chaînée sans récursion.
Implémenter lengthIter qui calcule la longueur d'une liste d'entiers de manière itérative.
Parcourir tous les éléments d'une liste chaînée sans récursion.
On utilise une variable locale comme "curseur" qui pointe successivement vers chaque nœud de la liste ; la boucle s'arrête quand le curseur atteint null (fin de liste).
Liste cur = l;.cur != null, traiter cur.head (accumuler, afficher, etc.) puis avancer le curseur : cur = cur.tail;.Implémenter lengthIter qui calcule la longueur d'une liste d'entiers de manière itérative.
Liste cur = l;.On initialise le curseur cur sur la tête de la liste et un compteur r à 0.
static int lengthIter(Liste l) {
int r = 0;
Liste cur = l;
// cur pointe sur le premier nœud (ou null si liste vide)
cur != null, traiter cur.head (accumuler, afficher, etc.) puis avancer le curseur : cur = cur.tail;.On parcourt la liste : tant que cur n'est pas null, on incrémente r et on avance le curseur.
while (cur != null) {
r++; // compter ce nœud
cur = cur.tail; // avancer vers le nœud suivant
}
On retourne le compteur r qui contient le nombre total de nœuds parcourus.
return r;
}
// lengthIter(new Liste(3, new Liste(2, new Liste(1, null)))) == 3
lengthIter parcourt chaque nœud une fois avec un curseur, incrémente un compteur, et retourne la longueur totale sans récursion.
Implémenter sumIter qui calcule la somme des entiers d'une liste de manière itérative.
Implémenter printIter qui affiche tous les éléments d'une liste d'entiers, séparés par des espaces.
Crée ton compte pour accéder à la fiche et aux exercices