本文へスキップ

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


Since 2016.4.19

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

問2

リストには、配列で実現する場合とポインタで実現する場合とがある。リストを配列で実現した場合の特徴として、適切なものはどれか。ここで、配列を用いたリストは配列に要素を連続して格納することによってリストを構成し、ポインタを用いたリストは要素と次の要素へのポインタを用いることによってリストを構成するものとする。

ア リストにある実際の要素数にかかわらず、リストに入れられる要素の最大個数に対応した領域を確保し、実際には使用されない領域が発生する可能性がある。

イ リストの中間要素を参照するには、リストの先頭から順番に要素をたどっていくことから、要素数に比例した時間が必要となる。

ウ リストの要素を格納する領域の他に、次の要素を指し示すための領域が別途必要となる。

エ リストへの挿入位置が分かる場合には、リストにある実際の要素数にかかわらず、要素の挿入を一定時間で行うことができる。


正解


解説

ア 正しい。

イ ポインタで実現した場合の特徴である。配列で実現した場合は、要素数の中間値を添字として指定することでリストの中間要素を参照することができる。

ウ ポインタで実現した場合の特徴である。

エ ポインタで実現した場合の特徴である。挿入する要素のポインタと、挿入する要素の前の要素のポインタを変更する時間が必要であり、要素の挿入を一定時間で行うことができる。

問1 目次 問3