Inhaltsverzeichnis:
Definition - Was bedeutet Ringpuffer?
Ein Ringpuffer ist eine Datenstruktur, die als zirkulär behandelt wird, obwohl ihre Implementierung linear ist. Ein Ringpuffer wird normalerweise als Datenwarteschlange verwendet. Ein zirkulärer Puffer ist eine beliebte Methode zum Implementieren eines Datenstroms, da der Code kompakt sein kann.
Ein Ringpuffer wird auch als Ringpuffer, Ringwarteschlange oder zyklischer Puffer bezeichnet.
Techopedia erklärt Ring Buffer
Ein Ringpuffer ist eine übliche Implementierung einer Warteschlange. Es ist beliebt, weil kreisförmige Warteschlangen einfach zu implementieren sind. Während ein Ringpuffer als Kreis dargestellt wird, ist ein Ringpuffer im zugrunde liegenden Code linear. Ein Ringpuffer besteht aus einem Array fester Länge mit zwei Zeigern: einem, der den Kopf einer Warteschlange darstellt, und einem, der den Schwanz darstellt. In einer Warteschlange werden Elemente nach dem FIFO-Prinzip (First-In-First-Out) zum Ende der Warteschlange hinzugefügt. Die ersten Elemente der Warteschlange werden in der Reihenfolge, in der sie hinzugefügt wurden, aus dem Kopf entfernt. Wenn der Kopfzeiger an das Ende des Arrays gelangt, wird er zum ersten Element im Array umgebrochen. Alle Daten im Puffer werden überschrieben. Der Kopf der Warteschlange unterscheidet sich vom ersten Element im tatsächlichen Array, und beide Zeiger werden beim Hinzufügen und Entfernen von Elementen verschoben.
Ein Nachteil eines Ringpuffers ist seine feste Größe. Für Warteschlangen, in denen Elemente nicht nur am Anfang und Ende eines Puffers, sondern in der Mitte hinzugefügt und entfernt werden müssen, ist eine Implementierung als verknüpfte Liste der bevorzugte Ansatz.
