एक circular buffer एक निश्चित आकारको array हो जसलाई यसको दुवै छेरहरू एक ring मा जोडिएको मानिन्छ। दुई indices — head (पढ्न) र tail (लेख्न) — अगाडी बढ्छन् र modulo arithmetic प्रयोग गरेर वरिपरि घुमाइ जान्छन्, जसले कोई allocation नगरी एक O(1) FIFO queue दिन्छ।
Wrapping कसरी काम गर्छ
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)
