Travaux pratiques 4
MIP-Info 4
2024-2025
Exercice 1
L’algorithme du tri à bulles (Bubble sort) est une technique simple de tri d’un tableau. Le principe
du tri à bulles est de comparer deux à deux les éléments e1 et e2 consécutifs d’un tableau et d’effecteur
une permutation si e1 > e2. On continue de trier jusqu’à ce qu’il n’y ait plus de permutation.
Écrire un programme en C++ qui assure le tri à bulles d’un tableau nommé items de taille dimension
contenant des éléments de type générique X.
Le programme développé doit contenir les éléments suivants :
— Une fonction générique nommée triBulles recevant deux arguments : le tableau à trier nommé
items contenant des éléments de type générique X, ainsi que sa taille dimension
— Une fonction générique nommée afficherItems assurant l’affichage des des éléments de type
générique X relatifs au tableau nommé items. La fonction recevra la taille du tabteau items
comme deuxième argument.
Écrire également une fonction main qui permet de tester le programme du tri à bulles avec un tableau
d’entiers nommé itableau contenant 7 éléments ainsi qu’un tableau de double nommé dtableau contenant
5 éléments.
Exercice 2
Une pile est une structure de données pour représenter une suite d’éléments avec la contrainte qu’on
ne peut ajouter ou enlever un élément que d’un même côté de la pile (sommet de la pile). Une pile
peut être représentée par un tableau et un indice de sommet tos.
Ecrire un programme C++ permettant de gérer une pile d’un type générique SType via une classe
générique nommée pile contenant les fonctions d’interface suivantes :
— pile(void) : Un constructeur générique qui s’exécute automatiquement lorsqu’un programme
crée une instance de la classe pile.
— ~pile(void) : Un destructeur générique qui s’exécute automatiquement quand le programme
détruit l’instance.
— void push(SType i) : Une fonction permettant d’ajouter un élément générique SType au sommet
de la pile.
— SType pop(void) : Une fonction permettant de supprimer l’élément générique SType placé au
sommet de la pile.
Prévoir également une fonction principale main afin de tester la gestion de la classe générique pile et
ses différentes fonctions d’interface. Le programme commence son exécution par la création de trois
instances de la classe générique pile : une pile de type int, une pile de type double et une pile de type
char. Le reste du traitement du programme manipule chaque pile à son tour.