Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Les listes chaînées

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

40 minutes

La chasse au trésor

Dans une chasse au trésor, chaque papier te dit où trouver le suivant. Le premier est sous le banc. Il t’envoie au gymnase. Le deuxième t’envoie à la cantine.

Tu ne vois jamais tout le parcours d’un coup. Tu suis les indices.

Une liste chaînée range des données de cette façon.

Mots-clés

MotCe que ça veut direExemple
MaillonUn morceau de la chaîne : une valeur et l’adresse du suivant.["pain", 0]
Liste chaînéeDes maillons reliés l’un à l’autre, du premier au dernier.pain, lait, oeufs
TêteLa case du premier maillon. On commence toujours par là.tete = 1
SuivantLa case du maillon d’après. Il vaut -1 s’il n’y en a pas.maillons[1][1]
ParcourirSuivre les liens, un maillon après l’autre.Lire pain, puis lait, puis oeufs
InsérerGlisser un nouveau maillon au milieu de la chaîne.Mettre beurre après pain

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : suis les indices

À toi de jouer

À toi : suis les indices

3 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

Des maillons et des liens

Chaque maillon contient deux choses : une valeur et la case du suivant.

En Python, on écrit un maillon comme une petite liste : ["pain", 0]. Le pain est la valeur. Le 0 est la case du maillon suivant.

Le dernier maillon n’a pas de suivant. On écrit -1 à la place.

Où commence la chaîne ?

Les maillons sont rangés dans une liste Python, mais pas forcément dans l’ordre de la chaîne.

Pour savoir où commencer, on garde une variable : la tête. Elle contient la case du premier maillon.

À toi : suivre la chaîne

Code: python
# Chaque maillon est [valeur, case du maillon suivant]. -1 veut dire : fin de la chaîne.
maillons = [["lait", 2], ["pain", 0], ["oeufs", -1]]
tete = 1                       # la chaîne commence à la case 1

courant = tete
while courant != -1:
    valeur = maillons[courant][0]
    suivant = maillons[courant][1]
    print("Case", courant, ":", valeur, "-> prochaine case", suivant)
    courant = suivant

print("Fin de la chaîne.")

# Mets tete = 0. Quelle liste de courses lis-tu maintenant ?

Exemple travaillé : le parcours pas à pas

ÉtapeCase lueValeurSuivant
Départtete = 1--
11pain0
20lait2
32oeufs-1
Fin-1on s’arrête-

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : lis la chaîne à la main

À toi de jouer

À toi : lis la chaîne à la main

4 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

La leçon continue

10 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.