ホーム › 基本情報技術者 › スタックとキュー

基本情報|スタックとキューの違いを操作順で理解する【自作例・確認2問】

更新日:2026年10月3日|著者:若葉

「追加したものを取り出す」点は同じでも、スタックとキューは取り出す順が違います。略語の丸暗記だけで迷うなら、操作を1回ずつ進め、取り出したものと、残っているものを分けて書くところから始めましょう。ここでは自作の操作列を図と表にします。

順番が違う理由自作例と図解確認テスト2問

スタックは後入れ先出し、キューは先入れ先出し

スタック(stack)はLIFO:Last In, First Out。最後に追加した要素を先に取り出します。追加する操作をpush(プッシュ)、取り出す操作をpop(ポップ)と呼び、どちらもtop(トップ)側で行います。

キュー(queue)はFIFO:First In, First Out。先に追加した要素を先に取り出します。後ろに追加する操作がenqueue(エンキュー)、先頭から取り出す操作がdequeue(デキュー)です。

出典:NIST「Dictionary of Algorithms and Data Structures」のstack・queue(2026年10月2日確認)。用語の定義を確認し、以下の例は編集部が作成しました。

身近なイメージ:皿の山と、受付の一列

スタックは、上に積んだ皿を上から取る山にたとえられます。後から置いた皿が、先に取れる位置に来ます。キューは、割込みも追越しもない受付の一列です。後から来た人は後ろに並び、先に来た人から受付を受けます。

たとえの前提:皿を途中から抜く操作や、受付の優先対応は、この例にはありません。現実の受付すべてがFIFOになるという意味ではなく、追加・取出しの規則をイメージするための例です。

なぜこの順にするのか

スタックは「直前に積んだものへ戻る」という順を保つために、追加と取出しを同じ側で行います。キューは「先に待ち始めたものから処理する」という順を保つために、追加側と取出し側を分けます。名前の違いではなく、次に処理したい要素をどれにするかが選択の理由です。

キューで途中の要素を好きに選んで取り出せば、到着順は保てません。スタックで一番古い要素を先に取れば、後入れ先出しではありません。問題では、取出しの規則を途中で変えないことが大切です。

自作例:同じ5操作でも、答えが変わる

空のスタックと空のキューを別々に用意し、両方に同じ操作を行います。①赤を追加、②青を追加、③1個取り出す、④緑を追加、⑤1個取り出す。この色名は要素を区別するラベルで、実際の公開問題・教材例題ではありません。

操作④直後:スタック

取出し口(top)は上 ↓

緑 ← 次に取る
赤(底)

操作③で青を取った後、緑を上へ追加。

操作④直後:キュー

先頭(取出し口) ← / → 末尾(追加口)

青
次に取る
緑
末尾

操作③で赤を取った後、緑を末尾へ追加。

編集部作成。図は操作④が終わった時点です。配置は取出し規則を示す概念図で、配列などの実装方法を指定していません。色名を文字で示しているため、配色だけで判断する必要はありません。
各操作が終わった直後の状態(編集部作成)
操作スタックに残る
底 → top
スタックから取ったキューに残る
先頭 → 末尾
キューから取った
開始前空—空—
①赤を追加赤—赤—
②青を追加赤、青—赤、青—
③1個取る赤青青赤
④緑を追加赤、緑—青、緑—
⑤1個取る赤緑緑青

なぜ⑤の取出し結果が違う?④の直後、スタックのtopは緑ですが、キューの先頭は青です。同じ「1個取る」でも、参照する取出し口が違います。また、③で取った要素はもう中にありません。最初に追加した順だけを記憶すると、この削除を見落とします。

紙に書くときの3手順

  1. 向きを固定する。スタックは「底→top」、キューは「先頭→末尾」と欄の上に書く。
  2. 1操作につき1行。追加は追加口へ書き、取出しは該当要素を中から消して、別の欄へ記録する。
  3. 最後に問われたものを確認する。「残っている要素」と「取り出した要素」は別の答え。表の見出しを指で確認する。

混同に注意:優先度に応じて取り出す優先度付きキューは、単純なFIFOのキューと区別します。空のときの取出し動作や容量上限も、問題・実装の前提を確認してください。この例は空からの取出しを含みません。「この構造なら常に速い」といった速度の結論も、順序の定義だけからは出せません。

教材照合:『徹底攻略 基本情報技術者教科書 令和8年度』第1章・紙面83(章別PDFの物理46ページ)。スタック、キュー、操作名称、優先度付きキューとの区別を確認(2026年10月2日)。教材の本文・図版・問題は転載していません。

確認テスト:答えと理由を2問で確認

各問の答えは何度でも選び直せます。正解したら「取出し口がどこか」も言葉にしてみましょう。解答は外部へ送信・保存しません。

問1:操作⑤でスタックから取り出すのは?

問2:操作③の直後、キューに残るのは?

次は、自分で操作を1つ足してみる

操作⑤の後に「黄を追加」「1個取る」を足し、スタックとキューの表を別々に書いてみてください。スタックからは黄、キューからは緑を取り出します。追加直後にどちら側を見るかが説明できれば、略語と動作がつながっています。

変数を1行ずつ追う練習へ / 基本情報の学習ガイドへ / 今回の学習を記録する