Crea: φ → P che provvede a creare la pila vuota [) attraverso la seguente chiamata:
10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
Una premessa rotazionale: indichiamo
con [) |
una pila vuota( con‘[’ che indica il fondo fisso e con‘)’ che indica la testa) |
con [ P1, P2,…. Pn) |
una pila qualsiasi formata dai nodi P1, P2,…. Pn con P1 in fondo e Pn in testa |
con N |
l’ insieme dei possibili nodi di una pila |
con P |
l’ insieme di tutte le possibili pile di nodi |
con φ |
l’ insieme vuoto |
con Β |
l’ insieme contenente i valori booleani VERO e FALSO |
In accordo con l ' ADT le operazioni possibili anche su questa struttura dati astratta vengono definite come funzioni matematiche che a fronte di uno o più valori in ingresso calcolano i relativi valori in uscita.
Secondo l ' ADT le principali operazioni per la struttura dati astratta PILA o STACK sono:
a) la creazione di una nuova pila vuota per la quale utilizzeremo la funzione Crea così definita:
Crea: φ → P che provvede a creare la pila vuota [) attraverso la seguente chiamata:
Crea() = [)
b) l’ inserimento( Push) di un nodo che può avvenire esclusivamente in testa per il quale utilizzeremo la funzione Push
Graficamente
Push: P x N → P
che necessita di due parametri in ingresso: uno identifica la pila che stiamo considerando [ Pj,.., Pk) e l’ altro il nodo Pi che vogliamo aggiungere in testa. La funzione restituirà la nuova pila ottenuta [ Pj,.., Pk, Pi).
La generica chiamata alla funzione sarà: Push( [ Pj,.., Pk), Pi) = [ Pj,.., Pk, Pi).
Prima dell’ operazione( funzione) Dopo l’ operazione( funzione)
Push del nodo Pi
|
Testa pila |
Pi |
Testa pila |
|
Pk
…
Pj
|
Fondo pila |
Pk
…
Pj
|
Fondo pila |
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 35