lunedì 20 gennaio 2014

Introduzione alle Liste: Concetti e prime regole per l'inserimento in Testa di un Nodo

Argomento
Liste

Pre  Requisiti

  • Strutture o Record
  • Puntatori
  • Modalità di Passaggio dei parametri ad una funzione: per valore/per riferimento
L'argomento di questa sera è legato alla gestione delle strutture dati Dinamiche

Per Dinamico si intende una struttura che varia il numero di elementi in Run Time ovvero durante l'esecuzione del programma.

La prima struttura che verrà presa in considerazione è la Lista Semplice. Elemento fondamentale per la costruzione di una Lista, è il NODO. Un NODO è un Record (Struct per il linguaggio C) composta da due parti:
  • la parte informativa o dati
  • la parte puntatore, che fa riferimento al NODO successivo
Una Lista quindi, è una Catena di NODI agganciati l'uno con l'altro, in cui la dinamicità consiste nell'aggiungere o nell'eliminare NODI, ogniqualvolta sarà necessario durante l'esecuzione del programma.

Tra le operazioni fondamentali previste per la Gestione delle Liste abbiamo l'inserimento. Vi sono diversi tipi di inserimento:
  • in Testa
  • in Coda
  • in Mezzo
Questa sera si è introdotto l'inserimento in Testa.
Sono stati definiti gli elementi fondamentali, affinché ne fossero comprese le varie fasi ed i  passi necessari.

Si è insistito su quello che dal punto di vista pratico-implementativo è la Lista:  
  • Lista Vuota: Puntatore di Testa inizializzato a NULL
  • il Puntatore di Testa o di Inizio Lista
  • i passi necessari per realizzare l'aggancio di un NODO in Testa
    • Creazione Nuovo Nodo
    • Assegnazione del/i dato/i alla parte informativa
    • Assegnazione della Testa alla parte Puntatore del Nuovo Nodo
    • Assegnazione del puntatore al Nuovo Nodo alla Testa della Lista
  • E' stato simulato l'inserimento di 5 Nodi, coinvolgendo la classe.
Dalla simulazione sono stati identificati i passi che venivano ripetuti ed è stato fatto notare alla classe come, l'utilizzo di un costrutto iterativo, aggiungendo una richiesta di continuazione ad inserire da rivolgere all'utente, avrebbe potuto trasformare la simulazione in un algoritmo per l'inserimento.
Riflettendo con la classe si è giunti alla conclusione che individuando le parti richieste per l'inserimento di un nuovo NODO ed isolandole, si avrebbe potuto creare una funzione di Inserimento in Testa alla quale passare il puntatore di Testa come parametro ma per riferimento.

Si è poi iniziato a vedere come organizzare la visualizzazione dei valori contenuti all'interno dei Nodi della Lista.

Seguiranno Appunti sul Codice.

Nessun commento:

Posta un commento