Vous êtes sur la page 1sur 1

Correction TD1 - Ex1.

algo
1
2 /**************************
3 *** Exercice 1-a - TD1 ****
4 ***************************/
5 /**
6 On suppose la déclaration de liste simplement chaînée
7 Type
8 Cellule = enregistrement
9 val:<type>
10 suiv:*Cellule
11 Fin enregistrement
12 Liste=*Cellule
13 */
14 Procedure afficher_inverse(L:Liste)
15 Var
16 pileAux:pile, R:*Cellule
17 Debut
18 init_pile(pileAux)
19 R<-L
20 Tant que (R!=NULL) faire
21 empiler(pileAux, R->val))
22 Fin tant que
23
24 Tant que (estVide(pileAux)=FAUX) faire
25 ecrire(depiler(pileAux))
26 Fin tant que
27 Fin
28
29 /**************************
30 *** Exercice 1-b - TD1 ****
31 ***************************/
32
33 // Le début de la file sera au sommet de la pile "pileF".
34 // Chaque nouveau élément enfilé sera dans la base de la pile.
35 // La logique pourrait être inversée.
36
37 Procedure enfiler(var pileF:pile, x:entier)
38 Var pileAux:pile
39 Debut
40 init_pile(pileAux)
41 Tant que (estVide(pileF)=FAUX) faire
42 empiler(pileAux, depiler(pileF))
43 Fin tant que
44
45 emplier(pileF, x)
46
47 Tant que (estVide(pileAux)=FAUX) faire
48 empiler(pileP, depiler(pileAux))
49 Fin tant que
50 Fin
51
52 Fonction defiler(var pileF:pile):entier
53 Debut
54 retourner(depiler(pileF))
55 Fin
56

-1-

Vous aimerez peut-être aussi