基本情報技術者試験 | 2006年度 = 平成18年度・秋期 | 午前 | 問13 |
列 A 1 2 ┌──────┬──┐ 1 │ “東京” │ 2 │ ├──────┼──┤ 行 2 │ “品川” │ 3 │ ├──────┼──┤ 3 │ “名古屋” │ 4 │ ├──────┼──┤ 4 │ “新大阪” │ 0 │ ├──────┼──┤ 5 │ “新横浜” │ │ └──────┴──┘
第1の操作 | 第2の操作 | |
ア | 5 → A(1,2) | A(A(1,2) ,2) → A(5,2) |
イ | 5 → A(1,2) | A(A(2,2) ,2) → A(5,2) |
ウ | A(A(1,2) ,2) → A(5,2) | 5 → A(1,2) |
エ | A(A(2,2) ,2) → A(5,2) | 5 → A(1,2) |
解答 |
解説 |
以下、ポインタの値を後続ポインタと呼ぶことにします。たとえば、“東京”の後続ポインタは2です。なお、“新大阪”の後続ポインタ0は、後続ノードが存在しないことを意味しています。1 2 3 4 ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ │ “東京” │ 2 │→│ “品川” │ 3 │→│ “名古屋” │ 4 │→│ “新大阪” │ 0 │ └──────┴──┘ └──────┴──┘ └──────┴──┘ └──────┴──┘ 5 ┌──────┬──┐ │ “新横浜” │ │ ※リスト内には含まれず独立しています。 └──────┴──┘
■Step 2 “東京”の指す先を“新横浜”とする1 2 3 4 ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ │ “東京” │ 2 │→│ “品川” │ 3 │→│ “名古屋” │ 4 │→│ “新大阪” │ 0 │ └──────┴──┘ └──────┴──┘ └──────┴──┘ └──────┴──┘ ↑ 5 │ ┌──────┬──┐ │ │ “新横浜” │ 3 │───────────────┘ └──────┴──┘
1 2 3 4 ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ ┌──────┬──┐ │ “東京” │ 5 │ │ “品川” │ 3 │→│ “名古屋” │ 4 │→│ “新大阪” │ 0 │ └──────┴──┘ └──────┴──┘ └──────┴──┘ └──────┴──┘ │ ↑ 5 ↓ │ ┌──────┬──┐ │ │ “新横浜” │ 3 │───────────────┘ └──────┴──┘