En cirkulær buffer er et array med fast størrelse, som behandles som om dets ender er forbundet til en ring. To indekser — head (læsning) og tail (skrivning) — rykker frem og vikler rundt ved hjælp af modulo-aritmetik, hvilket giver en O(1) FIFO-kø med ingen allokering efter oprettelse.
Hvordan ombrydning 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)
