読み方 : たじゅうループ

多重ループ【nested loop】

概要

多重ループとはプログラムの制御構造のうち、ループ(繰り返し)構造の内側に別のループ構造を入れ子状に設けたもの。for文while文などのループ構文を組み合わせて記述し、二次元配列の走査や行列演算など、複数の軸をもつデータ処理に用いられる。
多重ループのイメージ画像

多くのプログラミング言語for文while文といったループ構文を備えており、指定した条件が満たされる間、一定の処理を繰り返し実行できる。多重ループはこのループ構文を入れ子(ネスト)にしたもので、外側のループが1回進むたびに内側のループが全回数分実行される。

ループが二重の場合、外側をn回、内側をm回とすると、最も内側の処理はn×m回実行される。三重であれば外側からn回、m回、l回のとき、最内部の処理はn×m×l回となる。ネストが深くなるほど実行回数は乗算的に増大する。

多重ループは二次元配列の全要素の走査、行列演算、画像のピクセル単位の処理、格子状マップデータの制御など、多次元的な構造で表されるデータを扱う場面で用いられる。各階層のループをそれぞれの軸に対応させることで、データを体系的に処理できる。計算量の観点では、打ち切り処理がなければ二重ループでO(n²)、三重ループでO(n³)のオーダーになり、大規模データを扱う際は処理時間の増大やCPU負荷の要因となりやすい。

多重ループの途中で処理を中断したい場合、break文は直近のループのみを抜けるため、外側のループを一度に抜け出すには工夫が必要となる。言語によってはラベル付きbreak(Javaなど)やgoto文フラグ変数の利用、あるいはループ処理を関数に切り出してreturn文で抜ける方法などが用いられる。また、ネストが深くなるほどコードの可読性が低下しやすいため、階層を浅く保つ設計や、効率的なアルゴリズムへの置き換えが検討されることがある。

(2026.6.16更新)
 

他の辞典等による「多重ループ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。