データ構造(全8問中7問目)
No.7解説へ
下から上へ品物を積み上げ,上にある品物から順に取り出す装置がある。この装置に対する操作は,次の2種類である。
PUSH n :品物(番号n)を積み上げる。
POP :上にある品物を1個取り出す。 最初は何も積み上げていない状態から開始して,次の順序で操作を行った結果はどれか。
PUSH 1→PUSH 5→POP→PUSH 7→PUSH 6→PUSH 4→POP→POP→PUSH 3
PUSH n :品物(番号n)を積み上げる。
POP :上にある品物を1個取り出す。 最初は何も積み上げていない状態から開始して,次の順序で操作を行った結果はどれか。
PUSH 1→PUSH 5→POP→PUSH 7→PUSH 6→PUSH 4→POP→POP→PUSH 3
出典:サンプル問題1 問41
広告
解説
コンピュータの世界で使われるデータ構造のひとつにスタック構造があります。スタックは、データ挿入の時はスタックの末尾に追加し、データ取り出しの時は最後に挿入したデータから取り出す後入れ先出し(LIFO:Last-in First-out)の構造をもっています。
スタックでは、データを挿入するPUSH命令、データを取り出すPOP命令を使用してデータ操作を行います。
最初の何もない状態から命令順に操作をしていくと、装置の中身は次のように変化していきます(左側が装置の底だと考えてください)。
スタックでは、データを挿入するPUSH命令、データを取り出すPOP命令を使用してデータ操作を行います。
最初の何もない状態から命令順に操作をしていくと、装置の中身は次のように変化していきます(左側が装置の底だと考えてください)。
- 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
広告