E' una struttura dati di tipo LIFO (Last In First Out) che contiene elementi inseriti tramite due semplici istruzioni: push e pop; la prima inserisce elementi all'interno della pila, la seconda li estrae.Originariamente inviato da kpietro86
cos' è uno stack?
Come indicato dalla definizione di LIFO, immaginando appunto la struttura organizzata come una pila, l'ultimo elemento inserito è il primo ad essere estratto.
Come ti ha indicato Sergio, questo tipo di struttura viene spesso utilizzata dal processore per inserire nello stack valori parametrici, ad esempio, che verranno poi estratti all'interno di una funzione chiamata.
Esistono tuttavia tante altre applicazioni di questa struttura, che si accompagna alla coda, che invece è una struttura FIFO (First In First Out), nella quale sono i primi valori inseriti ad essere estratti per primi, contrariamente a quanto succede con lo stack.
Per analogia, potresti immaginare lo stack come una pila di piatti, in cui l'ultimo che viene inserito in cima è il primo ad essere estratto, oppure potresti paragonare la coda (queue) ad una coda allo sportello della banca, in cui il primo che arriva è anche il primo ad andarsene.
Si tratta di strutture dati che vengono spesso proposte per la realizzazione di codice di gestione delle stesse a scopo didattico.
Vuoi sapere altro?
Ciao!![]()