Stapel und Warteschlangen
Verstehen Sie die Datenstrukturen Stapel (LIFO) und Warteschlange (FIFO) sowie ihre Anwendungen.
Stapel und Warteschlangen ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Stacks und Queues in C
Stacks und Queues in C
Stacks und Queues sind lineare Datenstrukturen zum Speichern und Verwalten von Daten.
In dieser Lektion lernen Sie:
- Wie Stacks funktionieren (LIFO – zuletzt hinein, zuerst heraus).
- Wie Queues funktionieren (FIFO – zuerst hinein, zuerst heraus).
- Wie Sie Stacks und Queues in C implementieren.

Was ist ein Stack?
Was ist ein Stack?
Ein Stack folgt dem Prinzip Last In, First Out (LIFO).
Operationen:
- Push - Fügt ein Element oben hinzu.
- Pop - Entfernt das oberste Element.
- Peek - Zeigt das oberste Element an, ohne es zu entfernen.
Beispiel: Einen Stack implementieren
Beispiel: Einen Stack implementieren
Dieses Programm zeigt Stack-Operationen mithilfe eines Arrays.
#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;
}Was ist eine Queue?
Was ist eine Queue?
Eine Queue folgt dem Prinzip First In, First Out (FIFO).
Operationen:
- Enqueue - Fügt ein Element am Ende hinzu.
- Dequeue - Entfernt ein Element am Anfang.
- Peek - Zeigt das vorderste Element an, ohne es zu entfernen.
Beispiel: Eine Queue implementieren
Beispiel: Eine Queue implementieren
Dieses Programm zeigt Queue-Operationen mithilfe eines Arrays.
#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;
}Ringpuffer-Queue
Ringpuffer-Queue
Eine Ringpuffer-Queue überwindet die Einschränkungen einer normalen Queue, indem sie leere Speicherplätze wiederverwendet.
Die Operationen bleiben gleich, laufen aber im Array am Ende wieder zum Anfang zurück.
Beispiel: Ringpuffer-Queue
Beispiel: Ringpuffer-Queue
Dieses Programm zeigt die Implementierung einer Ringpuffer-Queue.
#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;
}Anwendungen von Stacks und Queues
Anwendungen von Stacks und Queues
Stacks werden verwendet für:
- Die Verwaltung von Funktionsaufrufen (Rekursion).
- Rückgängig- und Wiederholen-Operationen.
- Die Auswertung von Ausdrücken.
Queues werden verwendet für:
- Die Planung von Aufgaben in Betriebssystemen.
- Die Verwaltung von Anfragen in Webservern.
- Die Datenübertragung in Netzwerken.
Zusammenfassung
Zusammenfassung
In dieser Lektion haben Sie Folgendes gelernt:
- Wie Stacks und Queues funktionieren.
- Wie Sie Stack- und Queue-Operationen implementieren.
- Welche Anwendungen Stacks und Queues haben.
Als Nächstes sehen wir uns Bäume und Graphen in C an.

Häufig gestellte Fragen
Ist die Lektion „Stapel und Warteschlangen“ kostenlos?
Ja — der vollständige Text von „Stapel und Warteschlangen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Stapel und Warteschlangen“?
Verstehen Sie die Datenstrukturen Stapel (LIFO) und Warteschlange (FIFO) sowie ihre Anwendungen. Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C Academy zu starten?
Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 3.
Wie lange dauert die Lektion „Stapel und Warteschlangen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?
Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Verkettete Listen
- Stapel und Warteschlangen
- Bäume und Graphen