Définition de la pile dans la programmation

Une pile est un tableau ou une structure de liste d'appels de fonction et de paramètres utilisés dans la programmation informatique moderne et l'architecture CPU. Semblable à une pile d'assiettes dans un restaurant buffet ou une cafétéria, les éléments d'une pile sont ajoutés ou retirés du haut de la pile, dans un ordre «dernier entré, premier sorti» ou LIFO.

Le processus d'ajout de données à une pile est appelé «push», tandis que la récupération de données à partir d'une pile est appelée «pop». Cela se produit en haut de la pile. Un pointeur de pile indique l'étendue de la pile, s'ajustant lorsque des éléments sont poussés ou sautés dans une pile.

Lorsqu'une fonction est appelée, l'adresse de l'instruction suivante est poussée sur la pile.

Lorsque la fonction se ferme, l'adresse est extraite de la pile et l'exécution se poursuit à cette adresse.

Actions sur la pile

Il existe d'autres actions qui peuvent être effectuées sur une pile en fonction de l'environnement de programmation.

  • Coup d'œil: permet l'inspection de l'élément le plus haut d'une pile sans réellement retirer l'élément.
  • Échange: également appelé «échange», les positions des deux éléments supérieurs de la pile sont échangées, le premier élément devenant le deuxième et le second devenant le haut.
  • Dupliquer: l'élément le plus haut est extrait de la pile, puis repoussé deux fois dans la pile, créant un doublon de l'élément d'origine.
  • Rotation: également appelé «roulis», spécifie le nombre d'éléments d'une pile qui sont tournés dans leur ordre. Par exemple, la rotation des quatre éléments supérieurs d'une pile déplacerait l'élément le plus haut dans la quatrième position tandis que les trois éléments suivants remontent d'une position.

La pile est également connue sous le nom de "Last In First Out (LIFO) ".

Exemples: En C et C ++, les variables déclarées localement (ou auto) sont stockées sur la pile.