• Aucun résultat trouvé

Les piles

N/A
N/A
Protected

Academic year: 2022

Partager "Les piles"

Copied!
4
0
0

Texte intégral

(1)

Les piles

1- Définition.

2- Utilisation.

3- Primitives de manipulation.

4- Représentation d'une pile par un tableau.

5- Représentation d'une pile par une liste chaînée.

***************************************************

1. Définition :

Pile = collection (ensemble) d'éléments gérée en LIFO (Last In First Out) – stack en anglais- Les ajouts comme les suppressions se font en tête de pile.

Seule l'information de la tête est accessible et traitable.

Exemple : piles d’assiettes ; 2. Utilisations:

(2)

Compilation, gestion des imbrications, autres ...

3. Primitives de manipulation : 1/ Tester si la pile est vide

2/ Accéder au sommet de la pile 3/Empiler un élément :push 4/ Dépiler un élément : pop

4. Représentation contiguë d’une pile :par un tableau Avantage: Les opérations de manipulation sont faciles.

Inconvénient: la hauteur est bornée (allocation statique de la mémoire) 4.1 Façon 1 :

Const tmax= 1000

Type pile=tableau [1..Tmax] d’entier ; Var p :pile ;

sp , y : entier ;

Ecrire une séquence d’instructions pour chaque opération de manipulation Réponse :

1/ Si sp=0 alors écrire (‘pile vide’) ;

2/si sp <>0 alors y := p[sp] sinon écrire (‘pile vide’) ;

3/si sp< tmax alors sp :=sp+1 ; p[sp] :=y ; sinon écrire ( ‘ pile pleine’) ; fin ; 4/si sp> 0 alors sp :=sp-1 sinon écrire(‘ pile vide’) ; Fsi ;

4.2 Façon 2 :

(3)

Const tmax=1000 ;

Type pile= enregistrement

Sp :entier ; Cont : [ 1 ..tmax] d’entier ; Fin ;

Var p : pile ; y : entier ;

Ecrire une séquence d’instructions pour chaque opération de manipulation Réponse :

1/ Si p.sp=0 alors écrire (‘pile vide’) ;

2/si p.sp <>0 alors y := p .cont [p.sp] sinon écrire (‘pile vide’) ;

3/si p. sp< tmax alors p.sp:=p.sp+1 ; p.cont[sp] :=y ; sinon écrire ( ‘ pile pleine’) ; fin ; 4/si p.sp> 0 alors p.sp :=p.sp-1 sinon écrire(‘ pile vide’) ; Fsi ;

5. Représentation d’une pile par une liste chainée : Avantage: facile et extensible .

Type pile= ^E

E= enregistrement info : entier ; Suivant : pile ; Fin

Var sp , y : pile ;x : entier ;

Ecrire une séquence d’instructions pour chaque opération de manipulation 1/ si sp= nil alors écrire ( ‘ liste vide’) ;

(4)

2/si sp<> nil alors x := sp^.v sinon écrire (‘ liste vide’) ; 3/allouer (y) ; y^info := x ; y^.suivant:= sp ; sp := y ;

4/ si sp <> nil alors x := sp^.info ; y := sp ; sp := sp^.suivant ; libérer (y) ;

Références

Documents relatifs

 Vu que des ions positifs Zn 2+ apparaissent dans le compartiment « zinc », des ions positifs (ici K + ) viennent dans la solution pour assurer l’électro neutralité.. 3/

Pour supprimer un des fi chiers d’une pile, ouvrez simplement la pile et faites glisser l’élément à l’extérieur, vers l’endroit où vous voulez le déposer.. Pour supprimer

Emplacement de la pile.- Pour ˆetre sˆ ur que le programme et la pile n’interf`erent pas, le microprocesseur i8086 a ´et´e con¸cu de telle fa¸con que le code et les

Exemple.- ´ Ecrivons un programme QBasic qui demande un entier naturel (de deux octets) et fait appel ` a un sous-programme en langage machine qui passe la valeur en

On s’intéresse dans tout ce problème à une suite infinie de lancers d’une pièce équilibrée autour duquel deux joueurs J et J 0 s’affrontent. Le joueur J l’emporte si

5. Sur la première pile uniquement, en utilisant le vocabulaire introduit, indiquer ce qui arrive aux électrons au niveau de chacune des électrodes en précisant celle

Alors H est

 L'échauffement du mélange montre que cette transformation chimique libère de l'énergie thermique ( sous forme de chaleur)