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

10 : Allocazione dinamica della memoria Vers . 8.3 – Ottobre 2023
Graficamente Prima dell ’ operazione ( funzione ) Dopo l ’ operazione ( funzione )
TESTA della sequenza
FONDO della sequenza
TESTA della sequenza
FONDO della sequenza
Pj
Pk
Pj
Pk
Pi
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
Pj
Pk
Pj
Pi
Pk
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