アルゴリズムとプログラミング

基本情報技術者試験 科目A免除 修了試験 20160612 実施分 問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; }
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20160612 実施分 問6(問題文は IPA の公開問題。解説は当サイト作成)

解説に誤りを見つけたら、解説の誤りを報告してください。

答えと解説を見る

正解:イ

覚える知識

スタックのLIFO特性(後入れ先出し)

スタックは後入れ先出し(LIFO)のデータ構造で、末尾位置を示すポインタで出し入れする。

この問題で必要なこと

f(x)は添字pを増やして格納(push)し、g()は読み出してからpを減らす(pop)。最後に入れたものを最初に取り出すのでスタックである。

ひっかけ

キューはFIFOで先頭と末尾の2つの位置を使うことを混同する。

この知識の出題:本試験系 0 回・免除試験 8 回(公開問題での観測値)。頻出知識ランキング830位(全1,254件中)。

この知識をアプリで解いて覚える レッスン「スタックとキュー(LIFO と FIFO)」で学ぶ

同じ問題が出た回

同じ知識の過去問