過去問解きまくり研究所 ホーム

平成30年度 春期 午前 問6

データ構造

リストに関する問題

リストを二つの1次元配列で実現する。配列要素 box[ i ] と next[ i ] の対がリストの一つの要素に対応し,box[ i ] に要素の値が入り,next[ i ] に次の要素の番号が入る。配列が図の状態の場合,リストの3番目と4番目との間に値が H である要素を挿入したときの next[ 8 ] の値はどれか。ここで,next[ 0 ] がリストの先頭(1番目)の要素を指し,next[ i ] の値が0である要素はリストの最後を示し,next[ i ] の値が空白である要素はリストに連結されていない。

添字0123456789
boxABCDEFGHI
next150732
答えと解説を見る

✓ これが正解ウ7

解説

挿入した要素は、もとの4番目を指すので7です。

このリストは、値の入った配列と、次の要素の番号が入った配列の対で作られています。先頭は0番の次に書かれた値なので、1番のAから始まりました。1番の次は5番のE、5番の次は3番のC、3番の次は7番のG、7番の次は2番のBです。2番の次は0なので、そこで終わりました。並びはA、E、C、G、Bの五つです。3番目はCで添字は3、4番目はGで添字は7でした。この間にHを入れるので、Hの入っている8番の次に7を書きます。あわせて3番の次を8に書き換えました。問われているのは8番の次なので、7が当たります。3という値は、一つ手前、つまり2番目と3番目の間に入れた場合の答えでした。5という値は、さらに手前の先頭の直後に入れた場合になります。8という値は、3番の次に書くべきものと取り違えた形でした。どこに入れるかを先に添字で書き出しておくと迷いません。

ほかの選択肢はなぜ違うのか

出典:平成30年度 春期 基本情報技術者試験 午前 問6

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)