Vous êtes sur la page 1sur 1

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

UNIVERSITE M’Hamed BOUGARA –BOUMERDES


FACULTE DES SCIENCES
DEPARTEMENT D’INFORMATIQUE

______________________________________________________________________________
Module : ASD3 Année : 2023-2024
Nature du document : Série d’exercices 2
_________________________________________________________________________________________

Exercice 1
Soient deux listes linéaires simples d’entiers, de têtes D1 et D2.
Ecrire un programme C++ avec fonctions permettant de concaténer ces deux listes.
a- Sans sacrifier les listes originales.
b- En sacrifiant les listes originales.

Exercice 2
Soit une liste linéaire simple de N entiers, de têtes D1 (N pair).
1- Ecrire un programme C++ avec fonctions permettant de partitionner cette liste en
deux listes linéaires de même taille, de têtes D2 et D3.
a- Sans sacrifier la liste originale.
b- En sacrifiant la liste originale.

Exercice 3
Reprendre les questions 1 et 2 avec des listes linéaires bidirectionnelles.

Exercice4
Ecrire une fonction C++ permettant de trier une liste linéaire simple d’entiers.

Exercice 5
Pour représenter deux polynômes, on considère deux listes linéaires de têtes P1 et P2, où chaque
maillon contient un exposant et le coefficient correspondant.
En supposant que les listes sont triées dans l’ordre décroissant des puissances, écrire une fonction
c++ et son appel pour construire la liste représentant la somme des deux polynômes.

Exercice 6
Soit une liste linéaire L contenant la description de processus (programmes) dans un système
multi-utilisateur. Chaque processus étant décrit par une structure comportant un id (entier) et une
priorité (entier) :

Struct processus {int id; int prior; processus* suivant} ;

Ecrire un programme c++ avec fonctions permettant d’effectuer les opérations suivantes :
a) Construire un tableau dynamique de M listes linéaires, composée chacune de N processus.
b) Afficher toutes les listes.
c) Inverser toutes les listes.
d) Afficher toutes les listes après l’inversion.
e) Supprimer dans toutes les listes du tableau, le premier processus de priorité égale à ‘val’
donnée, s’il existe.
f) Afficher les listes après l’opération de suppression.

Vous aimerez peut-être aussi