平成24年 春期 基本情報技術者 午前 問6

十分な大きさの配列A と初期値が0の変数p に対して、関数f (x )とg ( )が次のとおり定義されている。
配列A と変数p は、関数f (x )とg ( )だけでアクセス可能である。
これらの関数が提供するデータ構造はどれか。

 function f (x ) {
   p = p + 1
   A [p ] = x
   return None
 }

 function g ( ) {
   x = A [p ]
   p = p - 1
   return x
 }

 ア  キュー  イ  スタック  ウ  ハッシュ  エ  ヒープ


答え イ


解説
関数f (x )とg ( )について手続きの内容を見る。

  • 関数f (x )は、引数xの内容を配列A [ ]のp + 1のところに格納する手続きである。
    ここで、変数p は配列A [ ]のカレントの位置を示す変数であることがわかる。
  • 関数g ( )は、配列A [ ]のカレントの位置のデータを取り出す手続きであり、取り出した後、変数p p - 1している。
これから、最後にセットしたデータを最初に取り出しているので、このデータ構造はスタック(イ)である。


キーワード
・データ構造

キーワードの解説
  • データ構造
    コンピュータから効率的にデータを操作するためには、データを決まったルールで格納し、アクセスの方法もルール化することが必要であり、このルール化したデータのことをデータ構造と呼ぶ。
    代表的なデータ構造には、キュー、スタック、ハッシュ、ヒープ(2分木)などがある。

もっと、「データ構造」について調べてみよう。

戻る 一覧へ 次へ