deque とは dequeとはDouble Ended Queue、つまり両端キューのことです。 ちなみに、queue(待ち行列、キュー)に格納された要素の取り出しのことをdequeue(デキュー)といいます。 非常に紛らわしいネーミングですが、別物です。気をつけましょう。 話を元に戻して、両端キューというものが何かというと、 先頭に要素を挿入する 先頭の要素を削除する 末尾に要素を挿入する 末尾の要素を削除する という4つの操作が許されるデータ構造のことで、dequeはこれらの操作を O(1) で行うことができます。 dequeは内部的にはリングバッファというデータ構造になっています。 リングバッファとは配列の先頭と末尾をつないで環状にしたものだと思ってください。 リングバッファの実装には配列を用います。 普通、配列の末尾(rear)に要素を加えるとき、 int array[SIZE]