Stack

  • Mise à jour le 25 septembre 2024
  • 1 min. à lire

Une stack (ou pile en français) est une structure de données fondamentale en programmation qui suit le principe LIFO (Last In, First Out). Elle fonctionne comme une pile d'assiettes : le dernier élément ajouté est le premier à être retiré.

Les opérations principales sur une stack sont :

  • Push : ajouter un élément au sommet de la pile
  • Pop : retirer l'élément au sommet de la pile
  • Peek (ou Top) : consulter l'élément au sommet sans le retirer

En programmation, les stacks sont utilisées dans de nombreux contextes, notamment :

  1. La gestion des appels de fonctions et de la mémoire
  2. L'évaluation d'expressions mathématiques (notation polonaise inverse)
  3. L'implémentation d'algorithmes de parcours en profondeur
  4. La gestion des opérations "annuler/rétablir" dans les applications

Exemple d'implémentation simple d'une stack en Python :

class Stack:
    def __init__(self):
        self.items = []

    def push(self, item):
        self.items.append(item)

    def pop(self):
        return self.items.pop()

    def peek(self):
        return self.items[-1]

    def is_empty(self):
        return len(self.items) == 0

Il est important de noter que certains langages de programmation, comme Python, offrent des structures de données intégrées (comme les listes) qui peuvent être utilisées comme des stacks. Cependant, comprendre le concept de stack reste crucial pour de nombreux aspects de la programmation et de l'informatique en général.

tracking-thumb