リングバッファ 【ring buffer】 循環バッファ / 環状バッファ / circular buffer / サーキュラーバッファ / 円環状バッファ
概要
リングバッファ(ring buffer)とは、一時的にデータを貯めておくバッファ領域のうち、終端と先端が論理的に連結され、循環的に利用されるようになっているもの。先頭から順番に読み込みあるいは書き込みしていくと、末尾の次の要素が先頭となり、再び先頭から順番にアクセスするように制御される。末尾の一つ前も先頭となる。最も古い内容を最新の内容で上書きし、常に一定の過去までのデータを蓄えるような用途に用いられる。
コンピュータの記憶装置にリングバッファを確保する場合、物理的に循環構造のものを用意することはできないため、位置を指し示す値(インデックス)を要素数で割った余剰を取るなどして、バッファ領域の終端の次が先頭になる(逆に、先頭の直前が終端になる)ように工夫する実装がよく用いられる。
(2020.4.1更新)