1. Che cos'è una Lista Concatenata?
A differenza degli array tradizionali (che richiedono un blocco di memoria contiguo e di dimensione fissa), una lista concatenata semplice è una struttura dati dinamica composta da una sequenza di nodi sparsi nella memoria RAM, collegati tra loro tramite puntatori.
2. Anatomia di un Nodo
Ogni singolo elemento (nodo) della lista è tipicamente una struct (o oggetto) suddivisa in due parti principali:
- Campo Dati (
dato): Contiene l'informazione effettiva da memorizzare (es. un intero, una stringa, un record). - Campo Puntatore (
next): Un puntatore che memorizza l'indirizzo di memoria del nodo successivo nella sequenza. L'ultimo nodo punta aNULL(oNone) per indicare la fine della lista.
- Vantaggi: Dimensione dinamica (può crescere o ridursi a piacimento) e inserimenti/cancellazioni rapidi senza bisogno di spostare blocchi di memoria.
- Svantaggi: Accesso sequenziale obbligato (non è possibile saltare direttamente
all'elemento \(i\)-esimo senza scorrere la lista dall'inizio
HEAD) e consumo di memoria extra per i puntatori.
3. Simulatore Interattivo: Gestore di Lista Semplice
Testa le operazioni di base su una lista dinamica simulata (inserimento in testa e scorrimento).