2025.01.08

キュー(Queue)とスタック(Stack)

市松模様

キューとは?

キュー(Queue)は「待ち行列」のことで、コンピュータのデータ構造の1つです。

先に入れたデータから順番に取り出される構造で、「先入れ先出し」、「FIFO(First In First Out)」とも呼ばれます。

キューにデータを入れることをエンキュー(Enqueue)といい、取り出すことをデキュー(Dequeue)といいます。

以下は、キューのイメージ図です。

キューは、ラーメン屋の行列やスーパーマーケットの会計をイメージするとわかりやすいです。先に並んだ人から順番に案内されていきます。

コンピュータキューは、プリンターの印刷待ち、処理の順番待ち等に使われます。

スタックとは?

スタック(Stack)は、コンピュータのデータ構造の1つです。

後に入れたデータから順番に取り出される構造で、「先入れ後出し」、「LIFO(Last In First Out)」とも呼ばれます。

スタックにデータを入れることをプッシュ(Push)といい、取り出すことをポップ(Pop)といいます。

以下は、スタックのイメージ図です。

スタックは、段ボール箱に入れる書類をイメージするとわかりやすいです。基本的には、後で入れた書類から取り出していきます。

コンピュータスタックは、メソッド呼び出しの内部処理に使われます。

スタックに入れることができるデータ容量には上限があり、これを超えると「スタックオーバーフロー」になります。

プッシュをするとスタックの使用量が増え、ポップすることで使用量が減ります。

再帰呼び出し」のようにメソッドを呼び続ける処理で、メソッドを抜ける処理が実行されない場合はプッシュをし続けることになるので「スタックオーバーフロー」となります。

以上です。

関連コンテンツ

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

コンピューター(computer)の意味を説明しています。

2022.07.22

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

コンピュータで扱う情報の量を表す単位って何?メモリ、HDD(ハードディスク)、SSDなどデータを格納する機器の仕様に書いている記号GB,TBとは?

2020.10.12

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

広告