配列には先頭があり、末尾があるが、末尾の次が先頭と考えて、リング状の配列として扱う。
用途は色々ある。
シンプルな実装例[Java]を下に示す。循環バッファと呼ばれることもある。 count を使わずに、空と満杯をチェックすることもできる。
String[] data = new String[SIZE];
int in = 0;
int out = 0;
int count = 0;
void enqueue(String v) {
if (count < SIZE) {
data[in] = v;
in = (in+1) % SIZE;
count++;
} else {
// エラー(満杯)
}
}
String dequeue() {
if (count == 0) {
return null; // 空
}
String v = data[out];
out = (out+1) % SIZE;
count--;
return v;
}