0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【データ構造編】キューとスタックについて、よわよわエンジニアが教えます

Last updated at Posted at 2025-06-20

はじめに

「キュー」と「スタック」の違いを説明してください。と言われて説明できるでしょうか?
よわよわエンジニアの私は当然説明できないため、調べたことをまとめます。

「キュー」と「スタック」は、プログラミングにおける基本的なデータ構造のひとつです。
どちらも「データを一時的にためておく入れ物」ですが、取り出し方のルールが異なるため、使いどころも変わってきます。

■ キュー(Queue)とは

特徴: 先に入れたものから順に取り出す(FIFO:First In, First Out)
スーパーのレジ待ちの列のような処理

イメージ図

追加 → [1] [2] [3] [4] → 取り出し

用途例:

  • プリンタの印刷待ち行列
  • タスクの順次処理

■ スタック(Stack)とは

特徴: 最後に入れたものから取り出す(LIFO:Last In, First Out)
積み重ねた本の山を上から取る処理(最後に積んだ本が最初に取れる)

イメージ図

追加 →   ┌───┐
         │ 3 │  ← 最後に追加(最初に取り出される)
         ├───┤
         │ 2 │
         ├───┤
         │ 1 │  ← 最初に追加(最後に取り出される)
         └───┘
取り出しは上から(3 → 2 → 1 の順)

用途例:

  • ブラウザの「戻る」操作(Undo処理)
  • 関数呼び出しの履歴管理(コールスタック)

■ まとめ

「順番を守って処理したい」ときはキュー

「直前の操作を取り消したい/戻りたい」ときはスタック

アルゴリズムやデータ処理を行う際の基礎になる構造なので、名前だけでなく用途までしっかり押さえておきましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?