必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. 応用情報技術者
  3. 平成22年度秋季問題一覧
  4. 平成22年度秋季問題5-解答・解説-分析

平成22年度秋季問題

問題5

先頭ポインタと末尾ポインタをもち、多くのデータがポインタでつながった単方向の線形リストの処理のうち、先頭ポインタ、末尾ポイン タ又は各データのポインタをたどる回数が最も多いものはどれか。ここで、単方向のリストは先頭ポインタからつながっているものとし、追加データはポインタ をたどらなくても参照できるものとする。

先頭にデータを追加する処理
先頭のデータを削除する処理
末尾にデータを追加する処理
末尾のデータを削除する処理

先頭ポインタと末尾ポインタをもち、多くのデータがポインタでつながった単方向の線形リストの処理のうち、先頭ポインタ、末尾ポイン タ又は各データのポインタをたどる回数が最も多いものはどれか。ここで、単方向のリストは先頭ポインタからつながっているものとし、追加データはポインタ をたどらなくても参照できるものとする。

先頭にデータを追加する処理
先頭のデータを削除する処理
末尾にデータを追加する処理
末尾のデータを削除する処理

解答:エ

<解説>

×
  1. 先頭ポインタから先頭のデータをたどる
  2. 先頭のポインタを追加データのポインタに書き換える。
  3. 1で得られた情報を追加データのポインタに書き換える。

⇒ポインタをたどる回数:1回
×
  1. 先頭ポインタから先頭のデータをたどる
  2. 先頭のデータから次のデータをたどる
  3. 2で得られた情報を現在先頭のデータのポインタに書き換える。

⇒ポインタをたどる回数:2回
×
  1. 末尾ポインタから末尾のデータをたどる
  2. 末尾のデータのポインタを追加データに書き換える。追加データのポインタを「nil:無し」にする。
  3. 末尾のポインタを追加したデータに書き換える。

⇒ポインタをたどる回数:1回
  1. 末尾ポインタから末尾のデータをたどる
  2. 1で得たデータがポインタとして得られるまで先頭ポインタからN回ポインタをたどり、末尾の一つ前のデータを得る。
  3. 末尾の一つ前のポインタを「nil:無し」に書き換え、末尾ポインタを末尾の一つ前に書き換える。

⇒ポインタをたどる回数:N+1回