ニコニコ大百科モバイル

7/2(月)よりスマホまたはPCでアクセスした場合、各デバイス向けのサイトへ自動で転送致します


配列


ヨミ: ハイレツ

配列(array)とは、プログラミング言語において多数の同様なデータを扱う際に用いられるデータ構造の一種である。


概要


例えば、ここにあるクラスで実施された数学の試験の点数のデータが有るとしよう。このデータを配列のプログラミング言語で一度に扱おうとすると math1, math2, …… , math40, …… のような変数を一々用意しなければならない。しかしこれはあまりにも面倒であるため、普通プログラミング言語によって簡単に複数の似たようなデータを扱える配列というデータ構造が用意されている。

配列 math にデータが格納されるとすると、前述のデータmath[1], math[2], …… のようにアクセスする事が出来る。ここの 1 や 2 といった数字は添字と呼ばれ、0 か 1 から始まる非負整数によって定する事が多い。0から始まるものを0オリジン、1から始まるものを1オリジンと呼ぶことがある。

更に変数を添字に定する事によって動的にアクセスするデータを変更できる点が、通常の変数にはい大きな利点となる。たとえば math[n] と書いておけば、変数 n に 4 が格納されていれば 4 番、n に 5 が格納されていれば 5 番データを取り出す事が出来る。

通常は配列を宣言する場合にその大きさ(長さ)を定するが、大きさを定せずとも必要に応じてデータ領域を確保するような配列も有る。それらは動的配列と呼ばれる。動的配列が作成可かどうかはプログラミング言語依存する。


連想配列


一部のプログラミング言語には、連想配列(associative array)といって数値以外の文字列等を添字として定できるデータ構造を持つものがある。これによってどのようなデータアクセスしているのかをより直感的に理解できるようになる場合が有る。例えば、A さんの試験の結果を配列に格納する場合、A[0] に英語 A[1] に数学の点数を格納する、と記述するよりも A["english"] と A["math"] に格納するとした方が分かり易い。

写像の一種とみなすことが出来るのでMapとか、添字を見出しに見立ててDictionaryとも呼ばれる。


多次元配列


また、配列を二次元以上にできる多次元配列を実現できるプログラミング言語も有る。これにより、例えばクラス全員の試験結果を多次元配列 ExamData に格納して、ExamData[3]["english"] で 出席番号 3(添字が0から始まる場合は4番) の生徒の英語の成績にアクセスするように出来る。


関連項目



最終更新日: 19/07/08 00:06
タグ検索 パソコン版を見る


[0]TOP
ニコニコ動画モバイル
運営元:ドワンゴ