IMAIAITHEK

Pile

En informatique, une pile (en anglais stack) est une structure de données fondée sur le principe « dernier arrivé, premier sorti »
Imaginons:

Vous aidez à essuyer la vaisselle. La personne à côté de vous lave une à une les assiettes. Vous les essuyez une à une et les empilez. Dès que vous avez une pile d'une quarantaine d'assiettes, vous posez cette pile sur une table.

-> A Vous avez créé une pile de 40 assiettes. Vous déplacez cette pile. Puis
-> B TANT QUE d'autres assiettes sont à essuyer vous faites A
-> C si ce n'est pas le cas, allez aider au service...D

Les personnes chargées du service des plats doivent ne prendre qu'une assiette à la fois.

-> D Sur la pile vous ne prenez que l'assiette qui est sur le dessus de la pile.
---> C'est la dernière assiette posée sur la pile.
-> L'assiette à prendre ensuite était l'avant dernière posée sur la pile
-> La dernière assiette de la pile qui sera prise à son tour aura été la première assiette de cette pile
---> Cette pile n'existe plus.
---> Nous avons fait une utilisation de stockage LIFO

Last In First Out : dernier entré premier sorti


Imaginons :

C'est l'été. Votre job est de vendre des glaces. Pour cela vous utilisez des cornets. Le distributeur de cornets est à votre portée.

Une personne accompagnée de deux enfants achète trois glaces. Le distributeur est vertical et les cornets, point du cône vers le bas, sont retirés par le bas du cylindre contenant les cornets empilés les uns dans les autres. Le cornet suivant se présente à la place de celui qui a été retiré.

Quand il n'y a plus de cornet, il faut aller chercher une recharge dans la réserve et remplir le cylindre du distributeur par le haut. Le premier cornet de cette recharge se présente en bas du cylindre de distribution.

Vous avez fait une utilisation de stockage FIFO.

C'est le principe de la file d'attente. Attention, laissez un mètre entre vous et la personne qui vous précède...

First In First Out : Premierr entré premier sorti

La plupart des microprocesseurs gèrent nativement une pile. Elle correspond alors à une zone de la mémoire, et le processeur retient l'adresse du dernier élément.

Dans la plupart des langages de programmation compilés, la pile d'exécution est l'endroit où sont empilés tout ou partie des paramètres d'appel des routines . Par ailleurs, on y crée un espace pour des variables locales. La pile est ainsi formée de cadres de piles (en anglais stack frames) comprenant pour chaque routine, en cours d'appel imbriqué, ses paramètres, ses variables locales et son point de retour.

[Cliquer sur Algorithme pour voir le listing proposé en langage mw (Mediawiki)]

Langage de programmation


A quoi servent les piles ?

Applications

Source : Wikipedia -Pile informatique


A une certaine époque, j'ai un peu "farfouillé" dans les langages et il y avait Forth.

Page modifiée: 18 April, 2020