Circular buffer (bộ đệm vòng) là một array kích thước cố định được coi như thể hai đầu của nó được nối thành một vòng. Hai index — head (đọc) và tail (ghi) — tiến lên và quấn vòng (wrap) bằng số học modulo, cho một queue FIFO O(1) với không cấp phát sau khi tạo.
Cách quấn vòng hoạt động
text
dung lượng 5, sau khi ghi A,B,C,D và đọc A,B:
index: 0 1 2 3 4
[ . ][ . ][ C ][ D ][ . ]
head^ tail^ (tail quấn về 0 ở lần ghi tiếp)
