Liste concatenate
Impari come funzionano le liste concatenate e come implementare operazioni come inserimento ed eliminazione.
Liste concatenate è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 3 lezioni in totale.
Liste concatenate in C
Liste concatenate in C
Una lista concatenata è una struttura dati dinamica in cui gli elementi (nodi) sono collegati tramite puntatori.
In questa lezione imparerà:
- Come funzionano le liste concatenate.
- Come inserire ed eliminare nodi in una lista concatenata.
- I vantaggi delle liste concatenate rispetto agli array.

Esempio: definizione di un nodo di una lista concatenata
Esempio: definizione di un nodo di una lista concatenata
In C, un nodo di una lista concatenata viene definito usando una struct con un campo dati e un puntatore al nodo successivo.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
int main() {
struct Node *head = NULL;
return 0;
}Inserimento di un nodo all'inizio
Inserimento di un nodo all'inizio
Per inserire un nuovo nodo all'inizio di una lista concatenata:
- Crei un nuovo nodo.
- Imposti il suo puntatore
nextsulla testa corrente. - Aggiorni il puntatore della testa.
Esempio: inserimento di un nodo all'inizio
Esempio: inserimento di un nodo all'inizio
Questo programma inserisce un nuovo nodo all'inizio di una lista concatenata.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
void insertAtBeginning(struct Node **head, int newData) {
struct Node *newNode = (struct Node*)malloc(sizeof(struct Node));
newNode->data = newData;
newNode->next = *head;
*head = newNode;
}
int main() {
struct Node *head = NULL;
insertAtBeginning(&head, 10);
printf("Inserted: %d\n", head->data);
return 0;
}Eliminazione di un nodo
Eliminazione di un nodo
Per eliminare un nodo da una lista concatenata:
- Trovi il nodo da eliminare.
- Aggiorni il puntatore
nextdel nodo precedente. - Libera la memoria del nodo eliminato.
Esempio: eliminazione di un nodo
Esempio: eliminazione di un nodo
Questo programma elimina un nodo da una lista concatenata.
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *next;
};
void deleteNode(struct Node **head, int key) {
struct Node *temp = *head, *prev;
if (temp != NULL && temp->data == key) {
*head = temp->next;
free(temp);
return;
}
while (temp != NULL && temp->data != key) {
prev = temp;
temp = temp->next;
}
if (temp == NULL) return;
prev->next = temp->next;
free(temp);
}
int main() {
struct Node *head = (struct Node*)malloc(sizeof(struct Node));
head->data = 10;
head->next = NULL;
deleteNode(&head, 10);
return 0;
}Vantaggi delle liste concatenate
Vantaggi delle liste concatenate
Le liste concatenate offrono diversi vantaggi rispetto agli array:
- Dimensione dinamica (non è necessario specificarla in anticipo).
- Inserimenti ed eliminazioni efficienti.
- Nessuno spreco di memoria dovuto a dimensioni fisse.
Riepilogo
Riepilogo
In questa lezione ha imparato:
- Che cosa sono le liste concatenate e come funzionano.
- Come inserire ed eliminare nodi.
- I vantaggi delle liste concatenate rispetto agli array.
Successivamente, esploreremo gli stack e le code in C.

Domande Frequenti
La lezione «Liste concatenate» è gratuita?
Sì — il testo completo di «Liste concatenate» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 3 lezioni in totale.
Cosa imparerò in «Liste concatenate»?
Impari come funzionano le liste concatenate e come implementare operazioni come inserimento ed eliminazione. Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C Academy?
Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.
Quanto tempo richiede la lezione «Liste concatenate»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C Academy?
Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Liste concatenate
- Stack e code
- Alberi e grafi