平成24年春目次 前の問題 次の問題
問7
多数のデータが単方向リスト構造で格納されている。このリスト構造には,先頭ポインタとは別に,末尾のデータを指し示す末尾ポインタがある。次の操作のうち,ポインタを参照する回数が最も多いものはどれか。ア リストの先頭にデータを挿入する。
イ リストの先頭のデータを削除する。
ウ リストの末尾にデータを挿入する。
エ リストの末尾のデータを削除する。
解説
図のようなリストがあると思って考えてみる。ア 新しくデータを作成し、「次のデータへのポインタ」に、先頭ポインタに格納されている100番地を入れる
先頭ポインタには、自分のデータのアドレスを入れる。
この場合先頭ポインタにアクセスするだけ。データをたどる回数は0回
イ 先頭ポインタの示すデータ(100番地)の「次のデータへのポインタ」(110番地)を先頭ポインタに入れる
この場合、先頭ポインタから、1番目のデータまでたどるので1回
ウ データを作成し、次のデータへのポインタはnullとする
末尾ポインタが示す最後のデータにアクセスし「次のデータへのポインタ」を自分のアドレスにする
末尾ポインタの150番地を自分のアドレスに変更する
末尾ポインタから末尾のデータまでたどるので1回
エ 先頭ポインタから、データをたどり、次のデータへのポインタに、末尾ポインタの値が入っているデータまで順にたどる
ここでは、200番地のデータの「次のデータへのポインタ」が、末尾ポインタに入っている150番地になっている
その150番地をnullに変更する
末尾ポインタの値は、変更したデータのアドレス200番地とする
この場合は、3番目のデータまでたどったので、3回
結局、エの場合に、ポインタを参照して、データをたどる回数が最も多くなる。
0 件のコメント:
コメントを投稿