0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Gestion de files et ABR en C

Transféré par

elahmediahmedyassine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues2 pages

Gestion de files et ABR en C

Transféré par

elahmediahmedyassine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Mohammed Premier Filière : SMI Semestre : S4

Faculté des Sciences Oujda Année Universitaire : 2023 – 2024


Département d’Informatique Module : Structure de données

TP N° 5 : Files

Exercice 1 : File d’attente dans une station de bus

On désire gérer une file d’attente dans une station de bus. Les personnes qui arrivent pour
prendre le bus forment ainsi une file d’attente et sont identifiés par leurs heures d’arrivée.

1. Définissez le type structuré passager identifié par son heure d’arrivée de type caractère.

2. Définissez le type structuré ListePassagers représentant une pile de passagers.

3. Écrivez la procédure enfiler qui insère un nouveau passager dans la file d’attente.
4. Écrivez la procédure defiler qui permet de prendre dans le bus la personne qui est en tête
de la file.
5. Écrivez la procédure qui permet de prendre dans le bus les passagers en attente selon le
nombre de places vides (à saisir par l’utilisateur) et qui met ensuite à jour la file d’attente.
6. Ecrire la procédure afficherFile qui permet d’affiche l’état courant de la file d’attente.
7. Ecrire le programme principal main qui teste les différentes procédures des questions
précédentes.

Rappel :
Pour manipuler le temps d’arrivée des passagers, vous utiliserez le type time_t et les fonctions
time et ctime de la bibliothèque time.h.
time.h est une bibliothèque standard du langage de programmation C qui fournit des fonctions
pour manipuler et formater des données temporelles.
Exercice 1 : Arbre binaire de recherche (ABR) d’entiers

Nous allons traiter un ABR d’entiers.

1. Déclarez le type Noeud représentant un nœud de l’ABR.


2. Créez la procédure creer_Noeud (int n) permettant de créer un nœud de l’ABR ayant la
valeur n (y compris la racine de l’ABR).
3. Créez la procédure ajout_Recursif(Noeud* racine, Noeud* temp, Noeud* nouveau)
permettant d’insérer dans l’arbre ABR le nouveau nœud nouveau après le nœud temp.
racine représente la racine de l’arbre.
4. Créez la procédure ajout_Noeud(Noeud* racine, int n) permettant d’insérer la valeur n
dans l’arbre ABR ayant racine comme racine.
5. Créez la fonction recherche_Recursive_Noeud (Noeud* racine, int n) qui permet de
rechercher la valeur n dans l’ABR.
6. Créer la procédure affiche_Infixe (Noeud* racine) permettant d’afficher les nœuds du
ABR en utilisant le mode de parcours infixe.
7. Créer la fonction minimum_Arbre (Noeud* racine) qui retourne la plus petite valeur du
sous arbre de racine.
8. Créer la fonction maximum_Arbre (Noeud* racine) qui retourne la plus grande valeur du
sous arbre de racine.
9. Créer la procédure supprime_Noeud(Noeud *racine, int val) qui supprimer de l’ABR le
nœud correspondant à val.
10. Ecrire le programme principal main() pour tester toutes ces fonctions.

Vous aimerez peut-être aussi