図解 スタックからのデータ出力の順序
2023年9月14日
2024年1月22日
![](https://aona.page/wp-content/uploads/2022/08/min_545.jpg)
「スタック」は、プログラミングにおいて重要なデータ構造の一つです。
スタック:データを一時的に格納する入れ物のことで、後入れ先出し(Last-In-First-Out、LIFO)と呼ばれる特定のデータアクセス方法に基づいています。
プッシュ(Push): データをスタックに追加する操作は「プッシュ」と呼ばれます。新しい要素はスタックのトップに追加されます。
ポップ(Pop): データをスタックから取り出す操作は「ポップ」と呼ばれます。スタックのトップから要素が削除され、その値が取り出されます。
過去の情報処理試験で次の様な問題がありました。
A,B,Cの順序で入力されるデータがある。かくデータについてスタックへの挿入と取り出しを1回ずつ行うことができる場合、データの出力順序は何通りあるか。
まず、一番簡単な方法。 A→B→Cとすべてスタックにいれてしまって、上から順に、C→B→Aと、取り出す方法
次に、A→Bを入れた(PUSH)した後に、一度Bを取り出します(POP)。
その後、CをPUSHして、C→Aの順番に取り出します。
考え方に少しなれてきましたか?
あとは組み合わせなので、
PUSH:A→B
POP:B→A
PUSH:C
POP:C
PUSH:A
POP:A
PUSH:B→C
POP:C→B
PUSH:A
POP:A
PUSH:B
POP:B
PUSH:C
POP:C
答えは5通りあると言うことになります。
これを試験まで覚えていられるかが不安です・・・