Domanda di: Mariagiulia De Angelis | Ultimo aggiornamento: 19 marzo 2023 Valutazione: 4.5/5
(68 voti)
Introduzione alle Liste
Basti pensare che l'uso delle liste permette di impostare programmi di ordinamento in modo molto efficiente (un esempio su tutti l'algoritmo MergeSort), ed offre quella dinamicità, tra l'altro tipica del C, di cui si può avere bisogno durante lo sviluppo di un programma.
typedef struct “nome_lista”{ campi...... struct “nome_lista” *next; } “nome_lista”; Inizializzazione: inizializzare una lista vuol dire semplicemente creare un puntatore (la freccia arancione),chiamato head che punti, inizialmente a null.
Una lista è una serie di nodi collegati tra di loro. Per fare questo in C ogni nodo sarà una struct contenente un elemento e un puntatore al prossimo nodo. Un puntatore, chiamato testa della lista punterà al primo nodo. Il puntatore dell'ultimo invece verrà chiamato coda e punterà a NULL.
La testa di una lista è il suo primo nodo, mentre con il termine coda ci si può riferire sia al resto della lista dopo la testa sia all'ultimo nodo della lista.
Cosa è un puntatore? Un puntatore è una variabile che contiene l'indirizzo di memoria di un'altra variabile. Quando dichiariamo una variabile, a questa verrà riservato un indirizzo di memoria, ad esempio la posizione 1000 . Un puntatore contiene, appunto, l'indirizzo di tale variabile (quindi il valore 1000 ).