Un circular buffer est un tableau de taille fixe traité comme si ses extrémités étaient jointes en anneau. Deux indices — head (lecture) et tail (écriture) — avancent et se réajustent en utilisant l'arithmétique modulo, donnant une file FIFO en O(1) sans allocation après sa création.
Comment l'enroulement fonctionne
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)
