La pila (dall'inglesestack), in informatica, è un tipo di dato astratto che viene usato in diversi contesti per riferirsi a strutture dati, le cui modalità d'accesso ai dati in essa contenuti seguono una modalità LIFO, ovvero tale per cui i dati vengono letti in ordine inverso rispetto a quello in cui sono stati inseriti scritti.
Caratteristiche
Il nome di questa struttura dati è infatti la stessa parola inglese usata, per esempio, per indicare una "pila di piatti" o una "pila di giornali", e sottende per l'appunto l'idea che quando si pone un piatto nella pila lo si metta in cima, e che quando si preleva un piatto si prelevi, analogamente, quello in cima (da cui la dinamica LIFO), anche se è possibile inserire o prelevare elementi dalla coda; più in generale, la pila è un particolare tipo di lista in cui le operazioni di inserimento ed estrazione si compiono dallo stesso estremo.
Utilizzo
Il termine è usato in informatica in modo più specifico in diversi contesti:
la struttura dati a pila è un tipo di struttura dati che un programma può implementare e utilizzare per il proprio funzionamento;
la pila è un elemento fondamentale dell'architettura dei moderni processori che fornisce il supporto per l'implementazione del concetto di funzione, le cui informazioni risiedono nella call stack;
la gestione di più versioni dello stesso software nel medesimo sistema operativo. Per installare, occorre partire in ordine cronologico, dalla più vecchia alla più recente; per disinstallare, occorrerà seguire l'ordine opposto, dalla più recente alla più vecchia.