Indholdsfortegnelse:
Definition - Hvad betyder ringbuffer?
En ringbuffer er en datastruktur, der behandles som cirkulær, selvom dens implementering er lineær. En cirkulær buffer bruges typisk som en datakø. En cirkulær buffer er en populær måde at implementere en datastrøm på, fordi koden kan være kompakt.
En ringbuffer er også kendt som en cirkulær buffer, cirkulær kø eller cyklisk buffer.
Techopedia forklarer Ringbuffer
En ringbuffer er en fælles implementering af en kø. Det er populært, fordi cirkulære køer er lette at implementere. Mens en ringbuffer er repræsenteret som en cirkel, er en ringbuffer i den underliggende kode lineær. En ringbuffer findes som en fast længde-matrix med to pegere: en, der repræsenterer hovedet af en kø, og en anden, der repræsenterer halen. I en kø tilføjes elementer til køens hale på en “FIFO” (først ind-først ud) måde. De første elementer i køen fjernes fra hovedet i den rækkefølge, de blev tilføjet. Når hovedviseren kommer til slutningen af arrayet, vikles den rundt til det første element i arrayet. Eventuelle data i bufferen overskrives. Køens hoved er forskellig fra det første element i det aktuelle array, og begge pegere bevæger sig, når elementer tilføjes og fjernes.
En ulempe ved en ringbuffer er dens faste størrelse. For køer, hvor elementer skal tilføjes og fjernes i midten, ikke kun i starten og slutningen af en buffer, er en implementering som en linket liste den foretrukne tilgang.