Pila (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
fix
 
(133 versioni intermedie di 88 utenti non mostrate)
Riga 1:
{{F|programmazione|febbraio 2013}}
{{disambigua}}
[[File:Data stack.svg|thumb|upright=1.4|Semplice rappresentazione di una pila]]
 
In [[informatica]], il termineLa '''stackpila''' o(dall'[[Lingua inglese|inglese]] '''pila'stack''), 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 politicamodalità '''[[LIFO]]''' ('''L'''ast '''I'''n '''F'''irst '''O'''ut), ovvero tale per cui i dati vengono estratti (letti) in ordine rigorosamente inverso rispetto a quello in cui sono stati inseriti (scritti). 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 sempre in cima, e che quando si preleva un piatto si prelevi sempre, analogamente, quello in cima (da cui la dinamica LIFO).
 
== 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 (informatica)|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:
Questo tipo di [[struttura dati#pila|struttura dati]] è estremamente importante in Informatica, tanto da essere indispensabile al funzionamente dei calcolatori moderni, in primo luogo per l'implementazione delle [[funzione (informatica)#Implementazione delle funzioni|funzioni]]. La [[notazione polacca inversa]] usa il concetto di pila (stack) per la risoluzione di formule matematiche.
* la struttura dati a pila è un tipo di struttura dati che un [[Programma (informatica)|programma]] può implementare e utilizzare per il proprio funzionamento;
* la pila è un elemento fondamentale dell'architettura dei moderni [[processore|processori]] che fornisce il supporto per l'implementazione del concetto di [[Funzione (informatica)|funzione]], le cui informazioni risiedono nella ''[[call stack]]'';
* le [[Macchina virtuale|macchine virtuali]] di quasi tutti i [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] usano una pila dei [[record di attivazione|''record'' di attivazione]] per implementare il concetto di subroutine (generalmente, ma non necessariamente, basandosi sulla pila del processore);
* la memoria degli [[automa a pila|automi a pila]] dell'[[informatica teorica]] è una pila.
* 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.
 
== Voci correlate ==
* [[Algoritmo]]
* [[Algoritmo di ordinamento]]
* [[Funzione (informatica)]]
* [[Struttura dati]]
* [[Hypercard]]
* [[LIFO]]
* [[Notazione polacca inversa]]
* [[Stack overflow]]
* [[Struttura dati]]
* [[Tipo di dato astratto]]
 
== Altri progetti ==
{{Interprogetto|preposizione=sulla|wikt=pila}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC|stack|stack}}
 
{{Ordinamento}}
[[Categoria:Programmazione]]
{{strutture dati}}
{{Controllo di autorità}}
{{Portale|Informatica}}
 
[[Categoria:ProgrammazioneStrutture dati]]
[[en:stack_(computing)]]