0Pricing
C Academy · Leçon

Listes chaînées

Apprenez comment fonctionnent les listes chaînées et comment implémenter des opérations comme l’insertion et la suppression.

Listes chaînées est une leçon C Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C Academy comprend 3 leçons au total.

Listes chaînées en C

Listes chaînées en C

Une liste chaînée est une structure de données dynamique dont les éléments (nœuds) sont reliés à l’aide de pointeurs.

Dans cette leçon, vous apprendrez :

  • Comment fonctionnent les listes chaînées.
  • Comment insérer et supprimer des nœuds dans une liste chaînée.
  • Les avantages des listes chaînées par rapport aux tableaux.
Listes chaînées — illustration 1

Exemple : définir un nœud de liste chaînée

Exemple : définir un nœud de liste chaînée

En C, un nœud de liste chaînée est défini à l’aide d’une struct contenant un champ de données et un pointeur vers le nœud suivant.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

int main() {
    struct Node *head = NULL;
    return 0;
}

Insérer un nœud au début

Insérer un nœud au début

Pour insérer un nouveau nœud au début d’une liste chaînée :

  • Créez un nouveau nœud.
  • Définissez son pointeur next sur la tête actuelle.
  • Mettez à jour le pointeur de tête.

Exemple : insérer un nœud au début

Exemple : insérer un nœud au début

Ce programme insère un nouveau nœud au début d’une liste chaînée.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

void insertAtBeginning(struct Node **head, int newData) {
    struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = newData;
    newNode->next = *head;
    *head = newNode;
}

int main() {
    struct Node *head = NULL;
    insertAtBeginning(&head, 10);
    printf("Inserted: %d\n", head->data);
    return 0;
}

Supprimer un nœud

Supprimer un nœud

Pour supprimer un nœud d’une liste chaînée :

  • Trouvez le nœud à supprimer.
  • Mettez à jour le pointeur next du nœud précédent.
  • Libérez la mémoire du nœud supprimé.

Exemple : supprimer un nœud

Exemple : supprimer un nœud

Ce programme supprime un nœud d’une liste chaînée.

#include <stdio.h>
#include <stdlib.h>

struct Node {
    int data;
    struct Node *next;
};

void deleteNode(struct Node **head, int key) {
    struct Node *temp = *head, *prev;
    if (temp != NULL && temp->data == key) {
        *head = temp->next;
        free(temp);
        return;
    }
    while (temp != NULL && temp->data != key) {
        prev = temp;
        temp = temp->next;
    }
    if (temp == NULL) return;
    prev->next = temp->next;
    free(temp);
}

int main() {
    struct Node *head = (struct Node*)malloc(sizeof(struct Node));
    head->data = 10;
    head->next = NULL;
    deleteNode(&head, 10);
    return 0;
}

Avantages des listes chaînées

Avantages des listes chaînées

Les listes chaînées présentent plusieurs avantages par rapport aux tableaux :

  • Taille dynamique (il n’est pas nécessaire de préciser la taille à l’avance).
  • Insertions et suppressions efficaces.
  • Aucun gaspillage de mémoire dû à une taille fixe.

Résumé

Résumé

Dans cette leçon, vous avez appris :

  • Ce que sont les listes chaînées et comment elles fonctionnent.
  • Comment insérer et supprimer des nœuds.
  • Les avantages des listes chaînées par rapport aux tableaux.

Nous allons maintenant découvrir les piles et les files en C !

Listes chaînées — illustration 9

Questions Fréquemment Posées

La leçon « Listes chaînées » est-elle gratuite ?

Oui — le texte complet de « Listes chaînées » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C Academy, passe à CoddyKit PRO. Le cours C Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Listes chaînées » ?

Apprenez comment fonctionnent les listes chaînées et comment implémenter des opérations comme l’insertion et la suppression. Tu pratiques C Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C Academy ?

Aucune expérience préalable n'est requise. C Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 3.

Combien de temps prend la leçon « Listes chaînées » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C Academy ?

Oui. Chaque leçon C Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Listes chaînées
  2. Piles et files
  3. Arbres et graphes
← Retour à C Academy