【じゅんかんばっふぁ】

循環バッファ とは?

💡 終わりが始まりにつながる、回転寿司のようなデータ置き場
📌 このページのポイント
循環バッファ(リングバッファ)の構造 A B C Write Read 線形配列との違い 端に達すると終わり 循環バッファなら先頭に戻る 特徴 ・固定サイズでメモリ効率◎ ・古いデータを自動上書き ・読み書きがO(1)で高速
循環バッファのイメージ
ひよこ ひよこ

循環バッファって普通の配列と何が違うの?

ペンギン先生 ペンギン先生

普通の配列は端まで行ったら終わりだけど、循環バッファは末尾の次が先頭に戻るんだ。回転寿司のレーンみたいに、ぐるぐる回りながらデータを置いたり取ったりできるよ。

ひよこ ひよこ

データがいっぱいになったらどうなるの?

ペンギン先生 ペンギン先生

一番古いデータを上書きして新しいデータを入れるんだ。「最新の100件だけ残す」みたいな用途にピッタリだよ。

ひよこ ひよこ

読み書きはどうやって管理するのかな?

ペンギン先生 ペンギン先生

readポインタとwriteポインタの2つを使うんだ。writeが書き込み位置、readが読み出し位置。この2つがリングの中を追いかけっこするイメージだね。

ひよこ ひよこ

どんなところで使われてるの?

ペンギン先生 ペンギン先生

音楽や動画のストリーミング再生、カーネルのログバッファ、UARTなどの通信バッファ、ゲームの入力履歴など幅広いよ。メモリ割り当てが不要で高速だから、リアルタイム処理や組み込みシステムでは定番のデータ構造なんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「循環バッファ」って出てきたら「ぐるぐる回って再利用する配列」と思えればだいたいOK!
📖 おまけ:英語の意味
「Circular Buffer / Ring Buffer」 = 環状バッファ
💬 配列が円環のように循環するからCircular(環状の)Bufferと呼ばれるんだよ
← 用語集にもどる