10: Allocazione dinamica della memoria Vers. 9.1 – Ottobre 2025
Graficamente Prima dell’ operazione( funzione) Dopo l’ operazione( funzione)
TESTA della sequenza |
FONDO della sequenza |
TESTA della sequenza |
FONDO della sequenza |
Pi
NODO da inserire
‣ in un punto qualsiasi utilizzeremo la funzione InsPos InsPos: S x N x Z + → S
che necessita di tre parametri in ingresso: uno identifica la sequenza che stiamo considerando [ Pj,.., Pk ], l’ altro il nodo Pi che vogliamo aggiungere ed il terzo la posizione m nella quale lo vogliamo inserire( con m diversa dalla prima e dall’ ultima per le quali esistono le operazioni apposite). La funzione restituirà la nuova sequenza ottenuta [ Pj,.., Pi,.., Pk ].
La generica chiamata alla funzione sarà: InsPos( [ Pj,.., Pk ], Pi, m) = [ Pj,.., Pi,.., Pk ]( con Pi in posizione m)
Graficamente Prima dell’ operazione( funzione) Dopo l’ operazione( funzione)
TESTA della sequenza |
FONDO della sequenza |
TESTA della sequenza |
FONDO della sequenza |
|
|
|
Posizione m |
Pi
NODO da inserire
N. B. Ovviamente tale funzione sarà possibile se la lista ha almeno n nodi con n ≥ 3 a partire dalla posizione 2 fino alla posizione n-1.
Per inserire un nodo nelle posizioni di TESTA e FONDO occorrerà utilizzare le funzioni specifiche introdotte.
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 30