配列とは?はいれつ
配列とは、同じ型の要素を隙間なく並べ、先頭からの通し番号(添字)で一つを指定して読み書きするデータ構造。整列や探索のアルゴリズムは、この「何番目」を入れ替えたり調べる範囲を狭めたりする操作として記述されるため、高度試験の午前Iでは配列の定義そのものよりも、配列の中身が処理の各段階でどう並び替わるかを追跡させる形で問われる。途中の一状態を正しく作れるかどうかで得点が分かれる。
最終更新:2026-10-07
高度試験の午前Iを最短で暗記する →背景
高度試験の午前Iは区分を問わず共通で、プログラムを書く力ではなく、アルゴリズムや実装の挙動を文章と図から読み取る力を測る。そのため配列は、領域の確保や宣言の話としてではなく、整列の途中経過を表す入れ物として登場する。同じ理由から、セキュアプログラミングの分野でも「外部プログラムに何をどう渡すか」——シェルへ1本の文字列として渡すのか、引数を配列のまま渡すのか——という形で配列が顔を出す。分野が違っても、問われているのは並びと渡し方の違いが結果をどう変えるかである。
具体例
2, 3, 5, 4, 1 をクイックソートで昇順に並べるとき、左端の2を基準にした1回目の分割で 1, 2, 3, 5, 4 となる。2回目は右側のグループ 3, 5, 4 を左端の3を基準に分割するが、3より小さい要素が存在しないため3の位置は動かず、配列全体は 1, 2, 3, 5, 4 のままである(令和5年度 春期 高度試験 午前Ⅰ 問3)。
試験での引っ掛け
分割のたびに配列全体が整列へ近づくと思い込み、2回目の分割後を 1, 2, 3, 4, 5 と答える誤りが目立つ。基準値より小さい要素が無いグループでは並びは変わらない。OSコマンドインジェクションの対策では、シェルを起動できる言語機能そのものを使わず、外部プログラムへ引数を配列のまま渡すAPIを用いるのが根本対策であり、プレースホルダの使用(SQLインジェクション対策)やファイル名にディレクトリが含まれていないかの検査(ディレクトリトラバーサル対策)と混同しない。なお著作権の分野でも「配列」の語が素材の並べ方という意味で現れ、リンク集は素材の選択や配列に創作性があれば編集著作物として保護され得る。
関連用語
出典・参考
公式シラバスの1 基礎理論 > 1. データ構造 > (2) データ構造の種類に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。