Circular buffer to tablica o stałym rozmiarze traktowana tak, jakby jej końce były połączone w pierścień. Dwa indeksy — head (odczyt) i tail (zapis) — przesuwają się i zawijają za pomocą arytmetyki modulo, dając kolejkę FIFO O(1) bez alokacji po utworzeniu.
Jak działa zawijanie
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)
