UIZ : EST Guelmim Année scolaire : 2024/2025
Filière : Génie informatique -DUT Matière : Structure de données
TP : LES PILES
Exercice N°1 – Copie d’une pile
Écrire une fonction Pile* copyPile(Pile* s) recevant une pile s comme argument et ren-
voyant une copie s2 de s.
Attention : la pile s doit être conservée !
Exercice N°2 – Inversion d’une pile
Écrire une fonction Pile* reversePile(Pile* s) recevant une pile s comme argument et
renvoyant une copie inversée rs de s.
Attention : la pile s doit être conservée !
Exercice N°3 – Permutations circulaires
Écrire une fonction void permutCerc(Pile **s, int n) qui effectue n permutations circu-
laires sur la pile s. Cette fonction modifie la pile s elle-même.
Illustration d’une permutation circulaire (n = 2)
Étapes de la permutation circulaire :
Pile s (initiale) Après permutation
7 98
11 2
98 103
2 7
103 11
On part de la pile de gauche et, après deux rotations circulaires, on obtient la pile de droite.
Remarque préliminaire : On suppose que n est un entier naturel. Si n est supérieur à la taille
de la pile s, on effectue seulement r = n % taille permutations circulaires effectives. Si r = 0, il
n’y a rien à faire.