Pila (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m robot Aggiunta: ru, cs, sl, he, zh, pl, fi, ja, nl, sv, fr, de, uk, da, be, ko
fix
 
(129 versioni intermedie di 86 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 termine viene usato in informatica in modo più specifico in diversi contesti:
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 ==
*la [[struttura dati#pila|struttura dati a stack]] è un tipo di struttura dati che un [[programma]] può implementare e utilizzare per il proprio funzionamento;
Il termine vieneè usato in informatica in modo più specifico in diversi contesti:
*lo [[stack (processore)|stack]] è un elemento dell'architettura dei moderni [[processore|processori]], e fornisce il supporto fondamentale per l'implementazione del concetto di [[subroutine]];
* la [[struttura dati#pila|struttura dati a stack]]pila è un tipo di struttura dati che un [[Programma (informatica)|programma]] può implementare e utilizzare per il proprio funzionamento;
*le [[macchina virtuale|macchine virtuali]] di quasi tutti i [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] usano uno [[record di attivazione|stack dei record di attivazione]] per implementare il concetto di subroutine (generalmente, ma non necessariamente, basandosi sullo stack del processore);
*lo [[stackla (processore)|stack]]pila è un elemento fondamentale dell'architettura dei moderni [[processore|processori]], eche fornisce il supporto fondamentale per l'implementazione del concetto di [[subroutineFunzione (informatica)|funzione]], le cui informazioni risiedono nella ''[[call stack]]'';
*la memoria degli [[automa a pila|automi a pila]] dell'[[informatica teorica]] è uno stack.
* le [[macchinaMacchina virtuale|macchine virtuali]] di quasi tutti i [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] usano unouna pila dei [[record di attivazione|stack dei ''record'' di attivazione]] per implementare il concetto di subroutine (generalmente, ma non necessariamente, basandosi sullosulla stackpila del processore);
* la memoria degli [[automa a pila|automi a pila]] dell'[[informatica teorica]] è unouna stackpila.
* 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]]
[[be:Стэк]]
[[cs:Zásobník]]
[[da:Stak]]
[[de:Stack]]
[[en:Stack (computing)]]
[[fi:Pino]]
[[fr:Pile (informatique)]]
[[he:מחסנית (מבנה נתונים)]]
[[ja:スタック]]
[[ko:스택 (자료구조)]]
[[nl:Stack]]
[[pl:Stos (informatyka)]]
[[ru:Стек]]
[[sl:Sklad (računalništvo)]]
[[sv:Stack (datastruktur)]]
[[uk:Стек]]
[[zh:堆栈]]