配列の値の合計・配列の値の最大値

配列とアルゴリズム

続いては、配列を使うアルゴリズムを紹介します。実際に、プログラミングでも配列を使うアルゴリズムは非常に沢山あります。ここでは、その中でも基本的なアルゴリズムである、配列の数値の合計と、最大値の発見を紹介します。一つは、配列の合計、そしてもう一つが、配列の中の数値の最大値を求めるアルゴリズムです。

これらは、大変シンプルですが、非常に使用頻度が高いうえに、これらを応用した様々なアルゴリズムの基になっている、非常に重要なアルゴリズムです。以下、それぞれのアルゴリズムについて説明していきます。

配列の値の合計

アルゴリズムの手順

では、まずは配列の数値の合計のアルゴリズムを見てみましょう。配列の数値の合計は、配列の最初の値から最後の値までを足してゆき、その結果を出力するだけの単純なものです。具体的な処理は以下のようになります。ここで使える配列の配列名は、aとします。

手順1.合計値を入れる変数sumと配列の要素番号を表す変数nを用意し、それぞれに0を代入する。
手順2.sumに、配列an番目の要素を足す。
手順3.nに1を足す。
手順4.nが、配列の最後の要素番号を超えていなければ、手順2に戻る。
手順5.合計値として、変数sumの値を出力する。

以上が配列の数値の合計を求めるアルゴリズムの流れです。図に表わすと、以下のようになります。(図5-1.)

図5-1.配列の数値の合計
配列の数値の合計

配列の数値の最大値の取得

アルゴリズムの手順

続いて、配列の最大値を探し出すアルゴリズムを紹介します。合計の場合と同様、配列の名前をaとしましょう。

手順1.最大値を入れる変数maxと配列の要素番号を表す変数nを用意し、nに0を代入し、maxには、配列aの0番目の値を入れる。
手順2.nに1を足す。
手順3.変数maxと、an番目の要素を比較し、もしも後者の方が大きければ、maxにその値を代入する。
手順4.nが、配列の最後の要素番号を超えていなければ、手順2に戻る。
手順5.最大値として、変数maxの値を出力する。

以上が配列の数値の合計を求めるアルゴリズムの流れです。仮初の最大値を決め、それよりも大きい値が出れば、最大値を入れ替えていくと、最後には自然と全体の最大値がはいっている、というわけです。これを図に表わすと、以下のようになります。(図5-2.)

図5-2.配列の最大値を見つけるアルゴリズム
配列の最大値を見つけるアルゴリズム

以上のようなアルゴリズムを応用すれば、配列の数値の平均値を求めたり、最小値を求めたりするようなアルゴリズムを簡単い構築することができます。また、さらに発展させれば、配列の数値を並べかえるアルゴリズムにも応用可能です。どちらもシンプルですが、非常に応用範囲の広いアルゴリズムであると言えます。