Vous êtes sur la page 1sur 4

#include <stdio.

h>

#include <stdlib.h>

// Structure pour un élément de la liste

struct Node {

char data;

struct Node* next;

};

// Fonction pour initialiser une liste vide

void initList(struct Node** head) {

*head = NULL;

// Fonction pour insérer un élément en tête de la liste

void insertNode(struct Node** head, char data) {

struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));

newNode->data = data;

newNode->next = *head;

*head = newNode;

// Fonction pour supprimer le premier élément de la liste

void deleteFirstNode(struct Node** head) {

if (*head == NULL) {

printf("La liste est vide.\n");

return;
}

struct Node* temp = *head;

*head = (*head)->next;

free(temp);

// Fonction pour afficher tous les éléments de la liste

void displayList(struct Node* head) {

if (head == NULL) {

printf("La liste est vide.\n");

return;

struct Node* current = head;

while (current != NULL) {

printf("%c ", current->data);

current = current->next;

printf("\n");

// Fonction pour afficher le menu

void displayMenu() {

printf("\nMenu :\n");

printf("a. Ajouter un élément à la liste\n");

printf("s. Supprimer le premier élément de la liste\n");

printf("x. Arrêter\n");

}
int main() {

struct Node* head;

initList(&head);

char choice;

char element;

do {

displayMenu();

printf("Entrez votre choix : ");

scanf(" %c", &choice);

switch (choice) {

case 'a':

printf("Entrez l'élément à ajouter : ");

scanf(" %c", &element);

insertNode(&head, element);

printf("Liste actuelle : ");

displayList(head);

break;

case 's':

deleteFirstNode(&head);

printf("Liste après suppression du premier élément : ");

displayList(head);

break;

case 'x':

printf("Arrêt du programme.\n");
break;

default:

printf("Commande invalide.\n");

break;

} while (choice != 'x');

return 0;

Vous aimerez peut-être aussi