次の記述中の に入れる正しい答えを、解答群の中から選べ。ここで、配列の要素番号は1から始まる。 関数mergeは、昇順に整列された整数型の配列data1及びdata2を受け取り、これらを併合してできる昇順に整列された整数型の配列を返す。 関数mergeをmerge({2, 3}, {1, 4})として呼び出すと、/* α */ の行は 。 〔プログラム〕 ○整数型の配列: merge(整数型の配列: data1, 整数型の配列: data2) 整数型: n1 ← data1の要素数 整数型: n2 ← data2の要素数 整数型の配列: work ← {(n1 + n2)個の 未定義の値} 整数型: i ← 1 整数型: j ← 1 整数型: k ← 1 while ((i ≦ n1) and (j ≦ n2)) if (data1[i] ≦ data2[j]) work[k] ← data1[i] i ← i + 1 else work[k] ← data2[j] j ← j + 1 endif k ← k + 1 endwhile while (i ≦ n1) work[k] ← data1[i] i ← i + 1 k ← k + 1 endwhile while (j ≦ n2) work[k] ← data2[j] /* α */ j ← j + 1 k ← k + 1 endwhile return work

マージは先に尽きた側で抜け、残りを写す回数を数える

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

選択肢

正解と解説

正解: 1回実行される

併合の主ループでは、まず1が、次に2、3の順に取り出され、data1側が先に尽きて i が範囲を超えた時点でループを抜ける。このときdata2側には4が1個だけ残っている。したがってdata2の残りを写す最後のwhileが1回だけ実行される。

選択肢ごとの解説

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

同じ分野の他の問題

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