次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数binSortをbinSort( )として呼び出すと、戻り値の配列には未定義の要素は含まれておらず、値は昇順に並んでいる。 〔プログラム〕 ○整数型の配列: binSort(整数型の配列: data) 整数型: n ← dataの要素数 整数型の配列: bins ← {n個の未定義の値} 整数型: i for (i を 1 から n まで 1 ずつ増やす) bins[data[i]] ← data[i] endfor return bins

値を添字にする分配法は入力が1〜nの順列である必要がある

基本情報技術者試験2022年度 公開問題 科目B11/アルゴリズムとプログラミング / 整列アルゴリズム

○整数型の配列: binSort(整数型の配列: data) 整数型: n ← dataの要素数 整数型の配列: bins ← {n個の未定義の値} 整数型: i for (i を 1 から n まで 1 ずつ増やす) bins[data[i]] ← data[i] endfor return bins

選択肢

正解と解説

正解: {2, 6, 3, 1, 4, 5}

この処理は値そのものを添字にして格納するので、bins[v] に v が入ります。戻り値に未定義の要素が残らず昇順に並ぶには、添字1からnまでのすべてが1回ずつ埋まる必要があり、入力は1からnまでの整数がちょうど1つずつ並んだもの、つまり1〜nの順列でなければなりません。要素数6の選択肢のうち、1から6が重複なく揃っているのは{2, 6, 3, 1, 4, 5}だけです。

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目B 問11(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。