Inhoudsopgave:
Definitie - Wat betekent Ring Buffer?
Een ringbuffer is een gegevensstructuur die als cirkelvormig wordt behandeld, hoewel de uitvoering ervan lineair is. Een circulaire buffer wordt meestal gebruikt als een gegevenswachtrij. Een circulaire buffer is een populaire manier om een gegevensstroom te implementeren, omdat de code compact kan zijn.
Een ringbuffer is ook bekend als een circulaire buffer, circulaire wachtrij of cyclische buffer.
Techopedia legt Ring Buffer uit
Een ringbuffer is een gebruikelijke implementatie van een wachtrij. Het is populair omdat ronde wachtrijen eenvoudig te implementeren zijn. Terwijl een ringbuffer wordt weergegeven als een cirkel, is een ringbuffer in de onderliggende code lineair. Een ringbuffer bestaat als een array met een vaste lengte met twee pointers: een die de kop van een wachtrij vertegenwoordigt en een andere die de staart vertegenwoordigt. In een wachtrij worden elementen aan de staart van de wachtrij toegevoegd op een 'FIFO'-manier (first in first first out). De eerste elementen van de wachtrij worden uit de kop verwijderd in de volgorde waarin ze zijn toegevoegd. Wanneer de kopaanwijzer het einde van de reeks bereikt, loopt deze rond naar het eerste element in de reeks. Alle gegevens in de buffer worden overschreven. De kop van de wachtrij verschilt van het eerste element in de daadwerkelijke array en beide wijzers bewegen wanneer elementen worden toegevoegd en verwijderd.
Een nadeel van een ringbuffer is de vaste grootte. Voor wachtrijen waar elementen in het midden moeten worden toegevoegd en verwijderd, niet alleen aan het begin en einde van een buffer, heeft een implementatie als een gekoppelde lijst de voorkeur.
