カコモンノート

問4基本情報技術者 令和8年度 公開問題(科目B)

4 / 6問
令和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

解説

二つの配列のうち、一方は値を、もう一方は次の要素の番号を持っている。順番に並べ直すには、先頭から始めて値を取り出し、次の番号をたどって進むことを繰り返す。末尾では次の番号が未定義になるので、値を取り出した後にその番号を見て、未定義であれば打ち切る。進むときも同じ番号を使うので、終わりを見る先と移る先は同じ場所になる。

KEY POINT
単方向リストは、次の要素番号をたどって進み、そこが未定義なら末尾と分かる

「科目B」の他の問題

「科目B」42問をまとめて見る →

出典:令和8年度 基本情報技術者試験 科目B 問4(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。本文は IPA が公表した問題冊子の頁を人が読んで起こし、別の読み手が原本と突き合わせています。その都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。