Stack e code
Comprenda le strutture di dati stack (LIFO) e coda (FIFO) e le loro applicazioni.
Stack e code è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Stack e code in C
Stack e code in C
Gli stack e le code sono strutture dati lineari usate per memorizzare e gestire i dati.
In questa lezione imparerà:
- Come funzionano gli stack (LIFO - Last In, First Out).
- Come funzionano le code (FIFO - First In, First Out).
- Come implementare stack e code in C.

Che cos'è uno stack?
Che cos'è uno stack?
Uno stack segue il principio Last In, First Out (LIFO).
Operazioni:
- Push - Aggiunge un elemento in cima.
- Pop - Rimuove l'elemento in cima.
- Peek - Visualizza l'elemento in cima senza rimuoverlo.
Esempio: implementazione di uno stack
Esempio: implementazione di uno stack
Questo programma mostra le operazioni su uno stack usando un array.
#include <stdio.h>
#define MAX 5
int stack[MAX], top = -1;
void push(int value) {
if (top == MAX - 1) {
printf("Stack Overflow\n");
} else {
stack[++top] = value;
}
}
int pop() {
if (top == -1) {
printf("Stack Underflow\n");
return -1;
} else {
return stack[top--];
}
}
int main() {
push(10);
push(20);
printf("Popped: %d\n", pop());
return 0;
}Che cos'è una coda?
Che cos'è una coda?
Una coda segue il principio First In, First Out (FIFO).
Operazioni:
- Enqueue - Aggiunge un elemento in fondo.
- Dequeue - Rimuove un elemento dalla parte anteriore.
- Peek - Visualizza l'elemento anteriore senza rimuoverlo.
Esempio: implementazione di una coda
Esempio: implementazione di una coda
Questo programma mostra le operazioni su una coda usando un array.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if (rear == MAX - 1) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
queue[++rear] = value;
}
}
int dequeue() {
if (front == -1 || front > rear) {
printf("Queue Underflow\n");
return -1;
} else {
return queue[front++];
}
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}Coda circolare
Coda circolare
Una coda circolare supera i limiti di una coda normale riutilizzando gli spazi vuoti.
Le operazioni rimangono le stesse, ma proseguono ciclicamente nell'array.
Esempio: coda circolare
Esempio: coda circolare
Questo programma mostra un'implementazione di una coda circolare.
#include <stdio.h>
#define MAX 5
int queue[MAX], front = -1, rear = -1;
void enqueue(int value) {
if ((rear + 1) % MAX == front) {
printf("Queue Overflow\n");
} else {
if (front == -1) front = 0;
rear = (rear + 1) % MAX;
queue[rear] = value;
}
}
int dequeue() {
if (front == -1) {
printf("Queue Underflow\n");
return -1;
}
int data = queue[front];
if (front == rear) {
front = rear = -1;
} else {
front = (front + 1) % MAX;
}
return data;
}
int main() {
enqueue(10);
enqueue(20);
printf("Dequeued: %d\n", dequeue());
return 0;
}Applicazioni di stack e code
Applicazioni di stack e code
Gli stack vengono usati per:
- Gestire le chiamate di funzione (ricorsione).
- Operazioni di annullamento e ripristino.
- Valutare le espressioni.
Le code vengono usate per:
- Pianificare le attività nei sistemi operativi.
- Gestire le richieste nei server web.
- Trasferire dati nelle reti.
Riepilogo
Riepilogo
In questa lezione ha imparato:
- Come funzionano gli stack e le code.
- Come implementare le operazioni su stack e code.
- Le applicazioni di stack e code.
Successivamente, esploreremo gli alberi e i grafi in C.

Domande Frequenti
La lezione «Stack e code» è gratuita?
Sì — il testo completo di «Stack e code» è 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 «Stack e code»?
Comprenda le strutture di dati stack (LIFO) e coda (FIFO) e le loro applicazioni. 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 2 di 3.
Quanto tempo richiede la lezione «Stack e code»?
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