次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は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の順列である必要がある
○整数型の配列: 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}
- イ{3, 1, 4, 4, 5, 2}
- ウ{4, 2, 1, 5, 6, 2}
- エ{5, 3, 4, 3, 2, 6}
正解と解説
正解:ア {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}だけです。
選択肢ごとの解説
- ア正解。1〜6が重複なく揃っており、全ての添字が埋まる。
- イ4が重複し6が無いため、未定義の要素が残る。
- ウ2が重複し3が無いため、未定義の要素が残る。
- エ3が重複し1が無いため、未定義の要素が残る。
同じ分野の他の問題
- クイックソートの処理方法を説明したものはどれか。2018年度 秋期 午前 問6
- 次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数mergeは、昇順に…2024年度 公開問題 科目B 問4
- 次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 次の手続sortは、大域…2023年度 公開問題 科目B 問3
- 次のプログラム中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。…2026年度 公開問題 科目B 問5
- 次のプログラム中の a と b に入れる正しい答えの組合せを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。…2026年度 公開問題 科目B 問4
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。