基本情報技術者平成30年春期 午前問5

問5

次の二つのスタック操作を定義する。
 PUSH n:スタックにデータ(整数値n)をプッシュする。
 POP:スタックからデータをポップする。
空のスタックに対して,次の順序でスタック操作を行った結果はどれか。

 PUSH 1 → PUSH 5 → POP → PUSH 7 → PUSH 6 → PUSH 4 → POP → POP → PUSH 3
  • 05a.png/image-size:30×102
  • 05i.png/image-size:30×102
  • 05u.png/image-size:29×101
  • 05e.png/image-size:29×101

分類

テクノロジ系 » アルゴリズムとプログラミング » データ構造

正解

解説

コンピュータの世界で使われるデータ構造のひとつに「スタック」があります。スタックは、最後に格納したデータから先に取り出す後入れ先出し(Last-in First-out:LIFO)の構造をもちます。

スタックでは、データを挿入するPUSH命令、データを取り出すPOP命令を使用してデータ操作を行います。
05.png/image-size:138×110
空のスタックを命令通りに操作していくと、
PUSH 1
1
PUSH 5
1,5
POP
1
PUSH 7
1,7
PUSH 6
1,7,6
PUSH 4
1,7,6,4
POP
1,7,6
POP
1,7
PUSH 3
1,7,3
となり、操作結果は「ウ」の状態になることがわかります。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop