次のプログラム中の に入れる正しい答えを,解答群の中から選べ。
手続 delNode は,単方向リストから,引数 pos で指定された位置の要素を削除する手続である。引数 pos は,リストの要素数以下の正の整数とする。リストの先頭の位置を 1 とする。
クラス ListElement は,単方向リストの要素を表す。クラス ListElement のメンバ変数の説明を表に示す。ListElement 型の変数はクラス ListElement のインスタンスの参照を格納するものとする。大域変数 listHead には,リストの先頭要素の参照があらかじめ格納されている。
| メンバ変数 | 型 | 説明 |
| 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
解答群
- listHead
- listHead.next
- listHead.next.next
- prev
- prev.next
- prev.next.next
解答
カ
解説
作成中