問4基本情報技術者 令和8年度 公開問題(科目B)
次のプログラム中の と に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。単方向リストを,配列 dataList と配列 pointerList の二つの配列で表現する。dataList にリストの要素の値を格納し,pointerList にリストの次の要素に対応するdataList の要 素 番 号 を格 納 す る 。 単 方 向 リ スト の 先 頭 は , dataList[1] 及 びpointerList[1] の組みである。単方向リストの末尾に対応する pointerList の要素は未定義である。dataList のうち単方向リストの要素の値を格納していない要素と,対応する pointerList の要素は未定義である。プログラムが扱う dataList 及び pointerList の内容を図 1 に示す。先頭の次の要素の要素番号は,pointerList[1] に格納された 3 であり,値は dataList[3] に格納された 20 である。その次の要素の要素番号は pointerList[3] に格納された 2 であり,値は dataList[2] に格納された 30 である。要素番号 1 2 3 4 5 dataList 10 30 20 40要素番号 1 2 3 4 5 pointerList 3 4 2注記 網掛けはその要素が未定義であることを示す。図 1 dataList 及び pointerList の内容関数 orderList は,図 1 の dataList 及び pointerList で表現した単方向リストの値を,単方向リストの先頭からたどって順番に格納した配列を返す。関数 orderListが返す配列を図 2 に示す。

選択肢をえらぶと、答えと解説が出ます
ここに答えと解説が出ます

正答 4解説
二つの配列のうち、一方は値を、もう一方は次の要素の番号を持っている。順番に並べ直すには、先頭から始めて値を取り出し、次の番号をたどって進むことを繰り返す。末尾では次の番号が未定義になるので、値を取り出した後にその番号を見て、未定義であれば打ち切る。進むときも同じ番号を使うので、終わりを見る先と移る先は同じ場所になる。
「科目B」の他の問題
- 令和8年度 公開問題(科目B) 問3次のプログラム中の に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。関数 func1 に与える引数と,関数 func2…
- 令和8年度 公開問題(科目B) 問5次のプログラム中の と に入れる正しい答えの組合せを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。一つの要素だけが 1 で他の要素が 0…
- 令和8年度 公開問題(科目B) 問2次のプログラム中の に入れる正しい答えを,解答群の中から選べ。関数 complement は,引数として渡された 8 ビット型の値 x について,x に加…
- 令和8年度 公開問題(科目B) 問6A 社は,従業員 1,000 名の広告代理店である。A 社では,各部署が A 社の社内ネットワークに設置したファイルサーバを,設置した部署の運用担当者が管…
- 令和8年度 公開問題(科目B) 問1次のプログラム中の に入れる正しい答えを,解答群の中から選べ。ここで,配列の要素番号は 1 から始まる。次のプログラムは,整数型の配列 data の末尾の…
- サンプル問題(科目B) 問4次のプログラム中の ~ に入れる正しい答えの組合せを,解答群の中から選べ。関数 gcd は,引数で与えられた二つの正の整数 num1 と num2 の最大…
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。本文は IPA が公表した問題冊子の頁を人が読んで起こし、別の読み手が原本と突き合わせています。その都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。
