Queues - einfach erklärt! (2024)

Video anzeigen

zur Videoseite: Queues

Du hast den Begriff Queue zwar schon mal gehört, da Daten aber nicht Schlange stehen, kannst du nichts damit anfangen? Kein Problem, wir zeigen dir hier alles, was du wissen musst.

Inhaltsübersicht

Kettenartige Datenstruktur

Unter Queues in C versteht man eine Art von Datenstruktur, die nur eingeschränkten Eingriff auf die in ihr gespeicherten Werte gewährt. Konkret bedeutet das, dass wir immer nur auf das erste oder das letzte Element der Schlange Zugriff haben.

Queues - einfach erklärt! (1)

direkt ins Video springen

Funktion nach dem FIFO-Prinzip

Das kannst du dir vorstellen, wie eine Perlenkette. Wenn du Perlen auffädeln oder entfernen willst, geht das immer nur von den beiden Enden aus ohne die Kette zu zerstören. Genauso ist es auch mit den Datensätzen in einer Queue.

Queues - einfach erklärt! (2)

direkt ins Video springen

Aus genau diesem Grund arbeitet eine solche Datenstruktur auch nach dem First-in-first-out-Prinzip. Das limitiert den Zugriff auf diese Elemente noch stärker, da wir nun nur noch in derselben Reihenfolge auf sie zugreifen können, in der wir sie „eingereiht“ haben.

Queue Befehle

Eine Queue besitzt drei grundsätzliche Befehle: enter, mit dem wir ein neues Element hinzufügen, rem, mit dem wir das erste Element auslesen und löschen und first, mit dem wir das erste Element auslesen können, ohne es zu löschen.

Queues - einfach erklärt! (3)

direkt ins Video springen

Im Programmcode wirst du aber vermutlich niemals den Strukturtyp queue finden. Das liegt daran, dass diese Art von Datenstruktur meist als einfach verkettete Liste oder als dynamisches Feld realisiert wird.

Queue Schlange – Beispiel

Wollen wir nun als Beispiel einmal eine solche Schlange betrachten, sehen wir, dass sie einen Zeiger auf das erste und auf das letzte Element enthält.

Queues - einfach erklärt! (4)

direkt ins Video springen

Das Auslesen der Elemente funktioniert hier nur so reibungslos, da jedes Element jeweils auf das nächste in der Liste zeigt und du so alle nacheinander abarbeiten kannst. Das funktioniert also in etwa so, als würdest du einer Wegbeschreibung zu einem Coffee-Shop folgen, wo dich der Barista dann weiter zu einem Museum schickt, dort zeigt dir dann ein Mitarbeiter, wie du zu einer bestimmten Sehenswürdigkeit kommst, usw.

Hinzufügen und Auslesen eines Elements

Wollen wir ein Element hinzufügen, springen wir einfach zu dem Element, auf das last zeigt und ändern dieses Element, so dass es auf unser neues Element zeigt. Um jetzt aber weiterhin ein letztes Element zu haben, müssen wir jetzt noch last auf das NEUE, letzte Element zeigen lassen.

Queues - einfach erklärt! (6)

direkt ins Video springen

Mit dem Auslesen verhält es sich genauso. Du rufst das erste Element mittels first auf, löscht es und deklarierst das Element, auf das unser altes First zeigte als neues first.

Queues - einfach erklärt! (7)

direkt ins Video springen

Wie bei allen Datenstrukturen solltest du aber auch hier daran denken, am Ende immer wieder allen reservierten Speicherplatz freizugeben.

Jetzt weißt du auch was es mit den Queues auf sich hat und kennst dich nun mit Datenstrukturen in C bestens aus. Viel Erfolg beim Programmieren!

Beliebte Inhalte aus dem BereichProgrammieren in C

  • Intro Funktionen in CDauer:01:32
  • Main-FunktionDauer:03:50
  • printf und scanfDauer:04:16

Weitere Inhalte:Programmieren in C

Datenstrukturen in C

Intro Datenstrukturen in CDauer:00:47
Strukturierte Datentypen IDauer:02:54
Strukturierte Datentypen IIDauer:03:20
Strukturierte Datentypen IIIDauer:03:47
StacksDauer:02:11
QueuesDauer:02:46
Queues - einfach erklärt! (2024)
Top Articles
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 5942

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.