資格部

資格・検定の試験情報、対策方法、問題解説などをご紹介

FE 科目B サンプル問題 問10

 

 次のプログラム中の   に入れる正しい答えを,解答群の中から選べ。

 手続 delNode は,単方向リストから,引数 pos で指定された位置の要素を削除する手続である。引数 pos は,リストの要素数以下の正の整数とする。リストの先頭の位置を 1 とする。
 クラス ListElement は,単方向リストの要素を表す。クラス ListElement のメンバ変数の説明を表に示す。ListElement 型の変数はクラス ListElement のインスタンスの参照を格納するものとする。大域変数 listHead には,リストの先頭要素の参照があらかじめ格納されている。

表 クラス ListElement のメンバ変数の説明
メンバ変数 説明
val 文字型 要素の値
next ListElement 次の要素の参照
次の要素がないときの状態は未定義

〔プログラム〕

大域: ListElement: listHead // リストの先頭要素が格納されている

 

◯delNode(整数型: pos) /* posは,リストの要素数以下の正の整数 */

 ListElement: prev

 整数型: i

 if (pos が 1 と等しい)

  listHead ← listHead.next

 else

  prev ← listHead

  /* posが2と等しいときは繰返し処理を実行しない */

  for (i を 2 から pos - 1 まで 1 ずつ増やす)

   prev ← prev.next

  endfor

  prev.next ←    

 endif

 

解答群

  1. listHead
  2. listHead.next
  3. listHead.next.next
  4. prev
  5. prev.next
  6. prev.next.next

解答・解説

解答

 カ

解説

 作成中

前問 一覧 次問