Les piles en langage C
Les piles
Requis
I. INTRODUCTION
II. Définition
III. La construction du prototype d'un élément de la pile
IV. Opérations sur les piles
A. Initialisation
B. Insertion d'un élément dans la pile
C. Ôter un élément de la pile
D. Affichage de la pile
E. Récupération de la donnée en haut de la pile
V. Exemple complet pile.h pile_function.h pile.c VI. Voir aussi
Requis
Les types de données
Les structures
L'utilisation de typedef
Les pointeurs
Les fonctions utilisateur
Les listes simplement chaînées
Les listes doublement chaînées
I. INTRODUCTION
Cette article a pour but la compréhension des piles.
L'implémentation en fonction du besoin vous appartient.
Pour expliquer l'algorithme j'ai choisi d'utiliser une liste simplement chaînée. Donc la compréhension des listes chaînées est nécessaire.
II. Définition
La pile est une structure de données, qui permet de stocker les données dans l'ordre LIFO (Last In First Out) - en français Dernier Entré Premier Sorti).
La récupération des données sera faite dans l'ordre inverse de leur insertion.
Pour l'implémentation j'ai choisi une liste simplement chaînée, présentée sur la verticale.
L'insertion se faisant toujours au début de la liste, le 1er élément de la liste sera le dernier élément saisi, donc sa position est en haut de la pile.
Je n'ai pas utilisé un pointeur fin, comme je l'ai fait dans le cas des listes simplement chaînées, puisque le but ce n'est pas de traiter une liste chaînée, mais la pile.
Ce qui nous intéresse c'est que le dernier élément entré, sera le 1er élément récupéré.
III. La construction du prototype d'un élément de la pile
Pour définir un élément de la pile le type struct sera utilisé.
L'élément de la pile contiendra un champ donnee et un pointeur suivant.
Le pointeur suivant doit être du même type que l'élément, sinon il ne pourra pas pointer vers l'élément.
Le pointeur suivant permettra l'accès vers le prochain élément. typedef struct