先頭へ戻る

リングバッファ | Programming Place Plus 用語集

Programming Place Plus トップページ -- 用語集

先頭へ戻る

名称


解説

バッファの構造の一種で、先頭と末尾が連結され、データを円状(リング状)に蓄えられるようにしたものです。

現実のメモリの上には、円状の領域をつくることはできないので、論理的に円状にあつかう工夫を凝らして実現されます。たとえば、領域自体は配列として直線的に確保し、要素アクセスする際には、配列の要素数による剰余を取って、添字を求める方法があります。

要素数が 10、剰余の演算子を % とすると、

のようになり、指定の位置が 10以上になったところで先頭に戻り、循環することが分かります。


リングバッファは、キュー(待ち行列)を実装する方法としても利用されます。

リングバッファを使ったキューの実装については、アルゴリズムとデータ構造編【データ構造】第6章で解説しています。

リングバッファの具体的な応用例として、動画や音声のストリーミング再生があります。リングバッファにデータをダウンロードしつつ、それを追いかけるように手前側のデータから順に再生していくことで、すべてのデータのダウンロードを待たずに再生を始められます。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー