「ボートをはずす」解答
- 正解は「やりかた4」
- やりかた1では、ボートAのフックをXから外すと、Xは流されてしまう
- やりかた1: ボートAのフックをXからはずしてBにつなぐ。次にボートXのフックをBからはずす。最後にボートMのフックをXにつなぐ。
- やりかた2では、ボートXのフックをBから外すと、Bは流されてしまう
- やりかた2: ボートXのフックをBからはずす。次にボートAのフックをXからはずしてBにつなぐ。最後にボートMのフックをXにつなぐ。
- やりかた3では、ボートXのフックをBから外すと、Bは流されてしまう
- やりかた3: ボートMのフックをXにつなぐ。次にボートXのフックをBからはずす。最後にボートAのフックをXからはずしてBにつなぐ。
- やりかた4では、誰も流されることなく、安全にはずせる
- やりかた4: ボートMのフックをXにつなぐ。次にボートAのフックをXからはずしてBにつなぐ。最後にボートXのフックをBからはずす。
- やりかた1では、ボートAのフックをXから外すと、Xは流されてしまう
- 解説
連結リストというデータ構造を扱った問題です。
連結リストのデータは、次のデータをポインター(この問題のフック)で順につなげることで、データを一直線上の構造で記憶します。
連結リストは配列と似ていますが、データには番号がなく、途中のデータを削除したり途中にデータを挿入したときに、後ろのデータをずらす必要がありません。