十分な大きさの配列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分木)などがある。
もっと、「データ構造」について調べてみよう。
戻る
一覧へ
次へ
|