本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和元年度 秋期 高度情報技術者試験問題と解説

問4

先頭ポインタと末尾ポインタをもち、多くのデータがポインタでつながった単方向の線形リストの処理のうち、先頭ポインタ、末尾ポインタ又は各データのポインタをたどる回数の最も多いものはどれか。ここで、単方向のリストは先頭ポインタからつながっているものとし、追加するデータはポインタをたどらなくても参照できるものとする。

ア 先頭にデータを追加する処理

イ 先頭のデータを削除する処理

ウ 末尾にデータを追加する処理

エ 末尾のデータを削除する処理


正解


解説

A、B、C、Dの4つのデータがあるとする。

このとき、
先頭ポインタはA
末尾ポインタはE
データAが持つポインタはB
データBが持つポインタはC
データCが持つポインタはD
データDが持つポインタは空白
である。

ア 先頭にデータXを追加するとすると、先頭ポインタをXに変更し、データXが持つポインタをAとする。
ポインタをたどる回数は0回である。

イ 先頭ポインタをBに変更する。
ポインタをたどる回数は0回である。

ウ 末尾にデータYを追加するとすると、末尾ポインタをたどって、データDにアクセスし、データDが持つポインタをYに変更する。そして、末尾ポインタをYに変更する。
ポインタをたどる回数は1回である。

エ 先頭ポインタをたどって、Aにアクセスし、
データAが持つポインタをたどって、Bにアクセスし、
データBが持つポインタをたどって、Cにアクセスし、
データCが持つポインタを空白に変更する。
末尾ポインタをCにする。
よって、ポインタをたどる回数は3回である。

問3 目次 問5