Pile
En informatique, une pile est une structure de données utilisée pour stocker une collection d’objets. Les éléments individuels peuvent être ajoutés et stockés dans une pile à l’aide d’une opération push. Les objets peuvent être récupérés à l’aide d’une opération pop, qui supprime un élément de la pile.
Lorsqu’un objet est ajouté à une pile, il est placé au-dessus de tous les éléments précédemment entrés. Lorsqu’un élément est supprimé, il peut être retiré du haut ou du bas de la pile. Une pile dans laquelle les éléments sont retirés par le haut est appelée pile « LIFO » (Last In, First Out). Vous pouvez vous représenter une pile LIFO comme un jeu de cartes sur lequel vous posez des cartes une par une, puis que vous tirez par le dessus. Dans une pile « FIFO » (First In, First Out), les éléments sont retirés par le bas. Vous pouvez vous représenter une pile FIFO comme une rangée dans un distributeur automatique, où les éléments sont distribués dans l’ordre où ils ont été placés dans la machine.
Les piles ont plusieurs applications en programmation informatique. Les piles LIFO, par exemple, peuvent être utilisées pour récupérer des objets récemment utilisés depuis un cache. Les piles FIFO peuvent servir à garantir que les données sont récupérées dans l’ordre où elles ont été saisies, ce qui peut être utilisé pour traiter des données dans une file d’attente.
Bien que les piles soient couramment utilisées par les programmeurs, vous ne les remarquerez généralement pas lorsque vous utilisez un programme. En effet, la création des piles ainsi que les opérations push et pop sont effectuées en arrière-plan pendant l’exécution d’une application et ne sont pas visibles pour l’utilisateur. Toutefois, si une pile manque de mémoire, cela provoque un « stack overflow ». Si le programme ne le gère pas correctement, un stack overflow peut générer un message d’erreur ou provoquer le plantage du programme.
NOTE: Le terme « stack » peut également désigner une pile de protocoles, composée de plusieurs protocoles réseau qui fonctionnent ensemble. Chaque protocole est classé dans l’une des sept couches définies dans le modèle OSI.
Testez vos connaissances