• Aucun résultat trouvé

Pratique de la programmation et projet TP 9 : Listes circulaires

N/A
N/A
Protected

Academic year: 2022

Partager "Pratique de la programmation et projet TP 9 : Listes circulaires"

Copied!
1
0
0

Texte intégral

(1)

Pratique de la programmation et projet TP 9 : Listes circulaires

Fr´ ed´ eric Vivien

Listes circulaires

Nous nous int´eressons maintenant aux listes circulaires, c’est-`a-dire dont le dernier ´el´ement pointe sur le premier. D´efinissez un tel type de liste et ´ecrivez pour ce type des fonctions ´equivalentes `a celles de- mand´ees pour les listes simplement chaˆın´ees, toutes les fonctions renvoyant des listes devant renvoyer des listes circulaires :

1. is empty: teste si une liste est vide.

2. car: retourne la valeur contenue dans la tˆete de la liste argument.

3. longueur: calcule la longueur d’une liste.

4. print list : affiche le contenu d’une liste.

5. appartient : teste l’appartenance d’un ´el´ement `a une liste.

6. egal : test l’´egalit´e de deux listes.

7. dernier: renvoie la valeur du dernier ´el´ement de la liste.

8. cons : rajoute un ´el´ement en tˆete d’une liste.

9. cdr: retourne le reste de la liste argument.

10. rplaca: remplace la valeur en tˆete de la liste.

11. rplacd: remplace le reste de la liste.

12. copy : cr´ee une liste copie de la liste argument.

13. concat: concat`ene deux listes.

14. reverse: renverse une liste (´ecrivez deux versions de cette fonction : une avec et une sans accumula- teur).

Références

Documents relatifs

– Liste doublement chaˆ ın´ ee : en plus du champ successeur, chaque ´ el´ ement contient un champ pr´ ed´ ecesseur qui est un pointeur sur l’´ el´ ement pr´ ec´ edent dans

´ Ecrivez des fonctions r´ ealisant : l’union, l’intersection, la diff´ erence, la diff´ erence sym´ etrique et le produit cart´ esien de

Nous nous int´ eressons maintenant aux listes doublement chaˆın´ ees, c’est-` a-dire chaˆın´ ees dans les deux sens : en plus du champ successeur, chaque ´ el´ ement contient

– En utilisant la fonction précédente, écrire une fonction qui, étant donnée une liste d’entiers, renvoie une autre liste, mais dont les éléments ont été rangés dans

20 Implanter une fonction int_list split(int_list list); modifiant en place la liste list pour que celle-ci ne contienne plus qu’un ´ el´ ement sur deux de la liste list initial

1 D´ efinir un type structur´ e dynarray contenant : un pointeur content vers un tableau d’entier allou´ e dans le tas, un entier size repr´ esentant le nombre d’´ el´ ements

C’est le tri des joueurs des cartes : au fur et ` a mesure qu’une carte est distribu´ee, on la range ` a sa place dans sa main. Algorithmiquement, il s’agit donc d’´ ecrire

Mais aussi : en tr ´ee-sorties, toute gestion de l’in terface (biblioth `eque.. graphics ) et des