トップ->アルゴリズム入門

アルゴリズム入門内検索

目次
アルゴリズムトップ
0. はじめに

1. アルゴリズム
   1. アルゴリズムとは
   2. 当ページの範囲
   3. 良いアルゴリズム
   4. フローチャートの書き方(記号)
   5. フローチャートの書き方(構造)
   6. 順次構造
   7. 分岐構造
   8. 反復構造

2. 順次構造
   1. 代入
   2. 計算
   3. 入力
   4. 出力
   5. 練習問題1
   6. 練習問題2

3. 分岐構造
   1. 条件分岐
   2. 単一分岐
   3. 練習問題1
   4. 多重分岐
   5. 複合条件
   6. ケース(多方向分岐)
   7. 練習問題2
   8. 練習問題3

4. 反復構造
   1. 反復構造の種類
   2. 前判定型
   3. 後判定型
   4. 練習問題1
   5. 練習問題2
   6. 練習問題3
   7. 多重反復処理(ネスト)
   8. 練習問題4
   9. 練習問題5

5. 配列
   1. 配列とは
   2. 練習問題
   3. 2次配列
   4. 練習問題
   5. 素数を求める,その1
   6. 素数を求める,その2

6. 検索・ソート
   1. サブルーチン
   2. シーケンシャルサーチ
   3. バイナリサーチ
   4. 練習問題
   5. ルックアップテーブル
   6. ソートとは
   7. 選択法
   8. 交換法
   9. バブルソート
   10. 挿入法
   11. クイックソート
   12. 処理速度の比較

7. 文字列
   1. 文字と文字列
   2. 文字列処理
   3. 文字列のコピー
   4. 練習問題
   5. 文字列の比較
   6. 文字列の連結
   7. 文字列の検索



トップ-> アルゴリズム入門:5章.配列-> 5-1.配列とは

←前ページへ : トップへ : 次ページへ→



5章:配列



5-1.配列とは

  例えば100個のデータがあった場合、これを入れるための変数として、a1,a2,a3,・・・,a100と 変数を設定したのでは大変なことになってしまうことは明らかです。このデータの形式が 同じ場合、メモリー上に100個の連続した領域を確保し、何件ものデータを総括的に扱う ことができる方法を配列といいます。配列は、変数名と何番目のデータを指すかという 添え字で構成されています。

  例えば、1ヶ月のお店の来客数を管理するのに、raikyaku01,raikyaku02, raikyaku03,・・・raikya31なんてやっていたら大変なことになります。 そこでraikyakuという配列を日にちという添え字を用いて利用するわけです。具体的には raikyaku(1),raikyaku(2),・・・raikyaku(31)ってな具合です。

  配列を利用すると何が便利なのでしょうか? それは添え字に変数が使えることです。 先ほどの1ヶ月の来客数を表示する場合、配列を使わないとraikyaku01, raikyaku02,raikyaku03,・・・raikya31と表示させたい変数を すべて列挙しなくてはなりません。配列を使うと、反復構造を使って、添え字の変数を 1ずつ増やしていくだけでいいのです。

  ところで、配列の添え字は0から始まる場合と、1から始まる 場合があります。 C言語では0から始まります。これに対してCOBOLでは1から始まります。このページでは 主にC言語を使っていますので、0から始まることにします。また、C言語では変数を 使う前に、領域を確保しなければなりません。配列の場合も何番まで使うかをあらかじめ 宣言しなければなりません。宣言した以上の値を添え字 として用いた場合、他のデータ領域を破壊することになりかねません。 この場合どこに影響があるかわかりません。最悪の場合、プログラムが暴走する可能性も ありまし、OS自体がおかしくなり、リセットする可能性もあります。この点はしっかりと 注意してください。

  ちなみに、C言語での配列使用宣言は下記のようにします。
int raikyaku[10];
 宣言のみ
 [10]は配列の大きさ(0から9の10個分確保する)
char a[]={10,20,30,40,50}
 宣言 + 数の代入
 この場合配列の大きさは省略できる
 省略した場合は代入を行った5つ分を確保する

  C言語ではraikyaku[10]のように添え字を大括弧で表現しますが、フローチャート ではraikyaku(10)のように普通の括弧で表現します。

    また、C言語では配列を使うと宣言しただけでは、変数と同様何が入っているかわかりません。 つまり使う前に配列の中身をきれいにしなくてはなりません。


←前ページへ : トップへ : 次ページへ→