TD 4 - pointeurs
L'objectif du TD est de manipuler des listes chaînées d'entiers.
On considère la classe Element:
struct Element {
int val;
Element * suivant;
};
Le champ suivant contient l'adresse du prochain bloc
element (on utilise l'adresse 0 pour signifier qu'il n'y a pas
d'autre bloc).
- Ecrire une procédure Element * Ajouter(int v, Element * l) qui
ajoute un élément de valeur v dont le successeur pointe sur
l et retourne l'adresse de ce nouvel élément.
- Ecrire une fonction int Longueur(Element * l) qui compte le nombre
de bloc element à partir de l'adresse l.
- Ecrire une procédure void Affiche(Element * l) qui affiche tous
les valeurs entières contenues dans la liste commençant à l'adresse
l.
- Ecrire une fonction Element * Copier(Element * l) qui renvoie une
copie de la liste l.
- Ecrire une fonction Element * Inverser(Element * l) qui renvoie une
la liste l inversée.
- Ecrire une procédure void Detruire(Element * l) qui désalloue tous
les blocs de la liste l.
- Ecrire une fonction Element * AjouterF(int v, Element * l) qui
ajoute un élément de valeur v à la fin de la liste l, et
qui retourne l'adresse du premier bloc de la liste.
fl@lsv.ens-cachan.fr
Last modification: January 23, 2002