次のプログラム中の に入れる正しい答えを,解答群の中から選べ。
手続 delNode は,単方向リストから,引数 pos で指定された位置の要素を削除す る手続である。引数 pos は,リストの要素数以下の正の整数とする。リストの先頭 の位置を1とする。
クラス ListElement は,単方向リストの要素を表す。クラス ListElement のメン バ変数の説明を表に示す。ListElement 型の変数はクラス ListElement のインスタン スの参照を格納するものとする。大域変数 listHead には,リストの先頭要素の参照 があらかじめ格納されている。
表 クラスListElementのメンバ変数の説明
メンバ変数 | 型 | 説明 |
|---|---|---|
val | 文字型 | 要素の値 |
next | ListElement | 次の要素の参照 次の要素がないときの状態は未定義 |
[プログラム]
大域: ListElement: listHead // リストの先頭要素が格納されている
〇delNode(整数型: pos)
ListElement: prev
if (posが1と等しい)
ListHead ← ListHead.next
else
prev ← ListHead
/* posが2と等しいときは繰返し処理を実行しない */
for (iを2から pos - 1まで1ずつ増やす)
prev ← prev.next
endfor
prev.next ← (空欄)
endif
出典令和4年度 基本情報技術者試験 科目B サンプル問題 問10
ア
listHead
イ
listHead.next
ウ
listHead.next.next
エ
prev
オ
prev.next
カ
prev.next.next