Ciao a tutti i frequentatori di questo forum, vi espongo un problema di cui non riesco a trovare soluzione.
Devo creare un algoritmo in C che implementi un heap massimo attraverso liste, quindi differisce dalla classica e molto piu semplice costruzione tramite array. Il mio ragionamento per la funzione di inserimento è questo : come per la costruzione tramite array individuo il punto in cui inserire l'elemento, cioè l'ultimo posto dell'array, e poi confronto con il padre per determinare se la posizione è quella giusta oppure se devo scambiare tale elemento con il padre, per gli array è tutto semplice vista la possibilità di utilizzare degli indici, per quanto riguarda le liste dinamiche, però, il problema si complica vista la non indicizzabilità. Il problema si pone sia nella funzione di inserimento che in quella di cancellazione. Sono alla ricerca di consigli, suggerimenti....insomma qualche dritta che mi aiuti a risolvere il problema.