Matière : Informatique
TP N°14 : Manipulation des piles (représentation chainée)
Objectif
L’objectif de ce TP est d’écrire une fonction permettant d’effectuer un tri par insertion d’un ensemble
de nombre entiers en utilisant les piles.
Etant donnée une pile A dont les éléments sont des entiers, l’objectif est de construire une pile B
contenant les mêmes éléments de A mais dans un ordre trié avec le minimum au sommet de la pile B.
Pour ce faire écrire en langage C les fonctions de manipulation des piles en représentation chainée
correspondantes aux opérations suivantes :
Empiler un élément ;
Dépiler un élément ;
Retourner le sommet d’une pile ;
Tester si une pile est vide ;
Afficher les éléments d’une pile.
Pour la création de la pile B, écrire une fonction trier() qui utilise une pile C vide au début en se basant
sur l’algorithme suivant :
Algorithme Tri;
Var A, B, C : pile;
X : entier;
Début
//Les piles B et C sont vide au début
Tant que (A n’est pas vide) faire
Si (B est vide ou sommet(A) < sommet(B)) alors
x = depiler(A);
empiler(B, x);
Tant que (C n’est pas vide) faire
x = depiler(C);
empiler(B, x);
Fin Tant que
Else
x = depiler(B);
empiler(C, x);
Finsi
Fin