4° Anno TEORIA 2. Allocazione dinamica della memoria | Page 35

Crea : φ → P che provvede a creare la pila vuota [ ) attraverso la seguente chiamata :
10 : Allocazione dinamica della memoria Vers . 8.3 – Ottobre 2023
con [ )
una pila vuota ( con ‘)’ che indica la testa e con ‘[’ che indica il fondo fisso )
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