(FE)H30年春 問06

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

 3

 5

 7

 8

解説を読む


正解:ウ

解説:
単方向リストを2つの配列変数を用いて表した問題です。box[i]に取るべき値が入り、next[i]には行先アドレスが入っていると考えると良いでしょう。

3番目と4番目の間に値がHである要素(アドレス8)を入れるとありますが、まずは現状でのリスト順を整理してみます。

上記のようにAECGBと並び、3番目と4番目の間はCとGとなります。next[8]が指し示すアドレスは次に参照するアドレスですので4番目の値、すなわちGとなりそのアドレスは7となります。したがって正解はウとなります。

ちなみに問題文のとおり更新された配列表は以下のとおりです。

解説を閉じる

コメント