橋本本  p290より

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
まきさん  
(No.1)
出題はR4サンプル問3から
解説のp289~p290で
アの解説
prev → val  next  →  val   next
         A   (未定義) ?  B   未定義
prev.next←curr

イの解説
prev → val  next  →  val   next
         A  未定義      B   未定義
prev.next←curr.next

イの解説から分かるのですが
アもvalが未定義なので未定義からは参照出来ないように理解してしまうのですが・・・・何が違うのかわからないです。
2024.06.26 19:51
jjon-comさん 
FE ゴールドマイスター
(No.2)
2022年4月25日公開分 サンプル問題 科目B 問3
https://www.fe-siken.com/kakomon/sample20220425/b3.html

追加要素currを単方向リストの末尾に追加する問題。
prev←listHead
while (prev.nextが未定義でない)
  prev←prev.next
endwhile
prev.next←【空欄b】

上記のwhileループを抜けた時点で次のようになっており,

        val     next
    +――――+―――+
prev|末尾要素|未定義|
    +――――+―――+

        val     next
    +――――+―――+
curr|追加要素|未定義|
    +――――+―――+

prevの後ろにcurrを連結するのですから,
prev.next←curr,つまり【空欄b】は curr です。

情報処理教科書 出るとこだけ!基本情報技術者[科目B]第4版 p.290の解説図は,

★上記のwhileループを抜けた時点では★
prev.nextは未定義であり(「valが未定義なので」ではない)

★その後,prev.next←【curr】を実行したら★
prev.next は次の curr を参照できるようになる,ことを示しています。
2024.06.27 19:20
まきさん  
(No.3)
>jjon-comさん
いつも解説ありがとうございます。
この問題もずっと腑に落ちてなくて・・・

>上記のwhileループを抜けた時点で次のようになっており,
ループを抜けた後、
prev.next=未定義になるので
後ろから連結する要素を追加するやっと分かりました。
ありがとうございました
2024.06.28 14:43

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop