スタックとキュー(stack and queue)

 スタック(stack)とは、アルゴリズム(algorithm)解析の分野の基本データ構造において、リストの先頭だけ要素を挿入でき、削除または取り出すときはリストの先頭の要素のみに対して行われるデータ構造のことである。

 スタックは、後から挿入した要素が先に出てくるということで、後入れ後出し方式(Last-In First Out; LIFO)のデータ構造である。

 それに対して、キュー(queue)は、リストの先頭だけ要素を挿入できる部分はスタックと同じであるが、削除または取り出すときはリストの他方の端のみで行われるデータ構造のことである。

 キューは、先に挿入した要素が先に出てくるということで、先入れ先出し方式(First-In First-Out; FIFO)のデータ構造である。