En circular buffer er en array med fast størrelse som behandles som om endene er sammenføyd til en ring. To indekser — head (lesing) og tail (skriving) — avanserer og omslutter ved hjelp av modulo-aritmetikk, noe som gir en O(1) FIFO-kø uten tildeling etter opprettelse.
Hvordan omslutning fungerer
text
capacity 5, after writing A,B,C,D and reading A,B:
index: 0 1 2 3 4
[ . ][ . ][ C ][ D ][ . ]
head^ tail^ (tail wraps to 0 next write)
