類似用語

スタックとキューの違い

スタックとキューの違い

データ構造(※配列のように複数のデータを格納できる入れ物)のひとつであるスタック(Stack)とキュー(Queue)、仕組みは単純ですが、その違いがわからなくなり、インターネットで1度は調べたことがあるひとも多いのではないでしょうか。

本記事では、スタックとキューの違いについて紹介します。

簡易説明

  • スタック:データを順番に格納し、最後に格納したデータから順に取り出す
  • キュー:データを順番に格納し、先に格納したデータから順に取り出す

スタック(Stack)とは

スタック(英:Stack)とは、データを順番に格納し、最後に格納したデータから順に取り出す、後入れ先出し(LIFO:Last-In First-Out)方式のデータ構造のことです。

次の図はスタックのイメージ例です。

スタック

スタックにデータを追加する操作を「PUSH」(プッシュ)、スタックからデータを取り出す操作を「POP」(ポップ)といいます。

スタックにデータを追加するときは順番に格納し、スタックからデータを取り出すときは、最後に格納したデータから順番に取り出します。

最後に乗った人から降りるエレベーターと同じイメージです。

キュー(Queue)とは

キュー(英:Queue)とは、データを順番に格納し、先に格納したデータから順に取り出す、先入れ先出し(FIFO:First-In First-Out)方式のデータ構造のことです。

次の図はキューのイメージ例です。

キューとは

キューにデータを追加する操作を「enqueue」(エンキュー)、キューからデータを取り出す操作を「dequeue」(デキュー)といいます。

キューにデータを追加するときは末尾に追加し、キューからデータを取り出すときは先頭のデータから順番に取り出します。

お店に並ぶ行列と同じイメージです。(あとから来た人は行列の末尾に並び、行列の先頭から順番にお店に入れる)

helpful