Un búfer circular es un array de tamaño fijo tratado como si sus extremos estuvieran unidos en un anillo. Dos índices — head (lectura) y tail (escritura) — avanzan y se envuelven usando aritmética de módulo, proporcionando una cola FIFO O(1) sin asignación después de la creación.
Cómo funciona el envolvimiento
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)
