Vous êtes sur la page 1sur 2

Matière: Algorithmique et structures de données Université de Saïda Dr.

Moulay Tahar
Semestre: 02 Département de mathématiques
Année: 2019-2020 1ère L.M.DMI

TD/TP Fiche 9 : Les listes chaînées

Exercice 1: (*)
Écrire une procédure ou une fonction qui:
a) initialise deux réels r1, r2 et un entier n à 0;
b) retourne le quotient et le reste de la division d'un entier p par un entier q;
c) échange et ache les valeurs de variables de type Entier;
Écrire l'algorithme principal et la traduction en C d'un programme qui appelle ces trois sous-algorithmes
(sous-programmes).
Exercice 2: (*)
Écrire une fonction ou une procédure qui:
a) initialise toutes les valeurs d'un tableau d'entiers T de taille quelconque à 0;
b) ne renvoie aucune valeur et qui détermine la valeur maximale max et la valeur minimale min du
tableau T. Il faudra donc prévoir 4 arguments: le tableau, sa dimension, le maximum et le minimum;
c) calcule la somme et le produit des éléments de T passé en paramètres;
d) permet de trier par ordre croissant les valeurs entières du tableau T. Le tri pourra se faire par
réarrangement des valeurs au sein du tableau lui-même;
Écrire l'algorithme principal et la traduction en C d'un programme qui déclare le tableau T, initialise
T par saisie; appelle les fonctions et les procédures.
Exercice 3: (**)
Soit une structure Point contenant deux champs xp et yp de type réel.
a) Écrire une procédure qui échange deux structures de type Point passées par adresse;
b) Écrire l'algorithme principal et la traduction en C d'un programme qui saisit deux structures Point
dans des variables, échange le contenu de ces variables en appelant la procédure et ache le nouveau
contenu des variables.
Exercice 4: (*)
Écrire une fonction qui lit un entier n au clavier, alloue un tableau T de n entiers initialisés à 0, et
retourne n et le tableau T.
Exercice 5: (*)
On se propose de réaliser une fonction de chargement en mémoire centrale sous forme de tableau des
réels d'un chier texte. Le format de chier est le suivant:
- la première ligne du chier contient le nombre d'éléments du tableau;
- les lignes suivantes contiennent chacune un nombre réel.
a) Réaliser une fonction de chargement dans un tableau dont la taille mémoire correspond exactement
au nombre d'éléments du chier;
b) Réaliser une procédure d'ache du tableau;
c) Écrire l'algorithme principal et la traduction en C d'un programme qui charge le chier et ache
le tableau.

coursmi2019@gmail.com Page 1/2


Exercice 6: (*)
Écrire une procédure ou une fonction qui:
a) qui prend en paramètre un tableau d'entiers Tab et son nombre d'éléments n, et qui crée une liste
chaînée newList dont les éléments sont les mêmes que les éléments du tableau Tab;
b) calcule la somme des éléments de la liste chaînée d'entiers newList;
c) prend en paramètre une liste chaînée newList, et qui crée un tableau newTab dont les éléments
sont les mêmes que les éléments du tableau tab;
d) recopie la liste chaînée newList à une autre liste recopieListe;
e) prend en paramètre la liste chaînée newList et renvoie une autre liste reverseList ayant les mêmes
éléments, mais dans l'ordre inverse.
f ) supprime toutes les occurrences d'une donnée (passée en paramètre) dans la liste chaînée recopieListe;
g) vérie que la liste newList est triée dans l'ordre croissant;
h) insère un élément dans la liste chaînée triée. La liste retournée doit être triée. Pour cela, on
cherchera l'adresse de la cellule (si elle existe) juste avant l'emplacement de l'insertion.
Exercice 7: (*)
On s'intéresse à des listes doublement chaînées, pour lesquelles chaque cellule à un pointeur suivant
vers la cellule suivante, et un pointeur precedant vers la cellule précédente.

1. Déclarer le type de données correspondant à une liste doublement chaînée d'entiers;


2. Écrire une procédure ou une fonction:
a) d'insertion en tête de liste dans une liste doublement chaînée;