スタックとキューの違い
データ構造(※配列のように複数のデータを格納できる入れ物)のひとつであるスタック(Stack)とキュー(Queue)、仕組みは単純ですが、その違いがわからなくなり、インターネットで1度は調べたことがあるひとも多いのではないでしょうか。
本記事では、スタックとキューの違いについて紹介します。
簡易説明
- スタック:データを順番に格納し、最後に格納したデータから順に取り出す
- キュー:データを順番に格納し、先に格納したデータから順に取り出す
スタック(Stack)とは
スタック(英:Stack)とは、データを順番に格納し、最後に格納したデータから順に取り出す、後入れ先出し(LIFO:Last-In First-Out)方式のデータ構造のことです。
次の図はスタックのイメージ例です。
スタックにデータを追加する操作を「PUSH」(プッシュ)、スタックからデータを取り出す操作を「POP」(ポップ)といいます。
スタックにデータを追加するときは順番に格納し、スタックからデータを取り出すときは、最後に格納したデータから順番に取り出します。
最後に乗った人から降りるエレベーターと同じイメージです。
キュー(Queue)とは
キュー(英:Queue)とは、データを順番に格納し、先に格納したデータから順に取り出す、先入れ先出し(FIFO:First-In First-Out)方式のデータ構造のことです。
次の図はキューのイメージ例です。
キューにデータを追加する操作を「enqueue」(エンキュー)、キューからデータを取り出す操作を「dequeue」(デキュー)といいます。
キューにデータを追加するときは末尾に追加し、キューからデータを取り出すときは先頭のデータから順番に取り出します。
お店に並ぶ行列と同じイメージです。(あとから来た人は行列の末尾に並び、行列の先頭から順番にお店に入れる)
helpful
この記事は役に立ちましたか?