Casa Audio Che cos'è uno stack? - definizione da techopedia

Che cos'è uno stack? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Stack?

Una pila è una struttura concettuale costituita da un insieme di elementi omogenei e si basa sul principio dell'ultimo in uscita (LIFO). Si tratta di un tipo di dati astratto comunemente usato con due operazioni principali, ovvero push e pop. Push e pop vengono eseguiti sull'elemento più in alto, che è l'ultimo elemento aggiunto alla pila. L'operazione push aggiunge un elemento allo stack mentre l'operazione pop rimuove un elemento dalla posizione superiore. Il concetto di stack viene utilizzato nella programmazione e nell'organizzazione della memoria nei computer.

Techopedia spiega Stack

Una pila rappresenta una sequenza di oggetti o elementi in un formato di struttura di dati lineare. Lo stack è costituito da un fondo limitato e tutte le operazioni vengono eseguite nella posizione superiore. Ogni volta che un elemento viene aggiunto allo stack dall'operazione push, il valore superiore viene incrementato di uno e quando un elemento viene espulso dallo stack, il valore superiore viene diminuito di uno. Un puntatore alla posizione più alta dello stack è anche noto come puntatore dello stack.

Uno stack può essere di dimensioni fisse o può avere un'implementazione dinamica in cui è consentito modificare la dimensione. Nel caso di stack con capacità limitata, il tentativo di aggiungere un elemento a uno stack già completo provoca un'eccezione di overflow dello stack. Allo stesso modo, una condizione in cui un'operazione pop tenta di rimuovere un elemento da uno stack già vuoto è nota come underflow.

Uno stack è considerato una struttura di dati limitata in quanto è consentito solo un numero limitato di operazioni. Oltre alle operazioni push e pop, alcune implementazioni possono consentire operazioni avanzate come:

  • Peek: visualizza l'elemento più in alto nella pila.
  • Duplica: copia il valore dell'elemento superiore in una variabile e reinseriscilo nello stack.
  • Scambia: scambia i due oggetti più in cima alla pila.
  • Ruota: sposta gli elementi più in alto nella pila come specificato da un numero o muoviti in modo rotante.

Le implementazioni software del concetto di stack vengono eseguite utilizzando matrici ed elenchi collegati in cui viene tracciata la posizione superiore utilizzando rispettivamente un puntatore a variabile o intestazione. Molti linguaggi di programmazione offrono funzionalità integrate per supportare l'implementazione dello stack.

Gli stack hardware sono implementati ai fini dell'allocazione e dell'accesso alla memoria utilizzando un'origine e una dimensione fisse. I registri dello stack vengono utilizzati per memorizzare il valore del puntatore dello stack.

Che cos'è uno stack? - definizione da techopedia