9

n +1)番目のアイテムを挿入すると0番目のアイテムが削除され、挿入は「背面」でのみ実行できるn個のアイテムのキューが必要です。 ブーストまたは標準ライブラリにそのような構造はすでにありますか?

4

1 に答える 1

12

次のような、でboost::circular_bufferラップされたものを使用できます。std::queue

#include <queue>
#include <boost/circular_buffer.hpp>

typedef std::queue<my_type, boost::circular_buffer<my_type>> my_queue;
const int n = 3;
...
my_queue q(boost::circular_buffer<my_type>(n));
q.push(1);
q.push(2);
q.push(3);
q.push(4); // queue now contains 2,3,4
于 2012-06-15T15:00:23.370 に答える