Нужно сделать очередь, в хвост кладём, с носа забираем. Типы — примитивные.
Вектор при выталкивании с носа будет целиком перемещаться, что не очень хорошо, но в случае примитивных типом и не слишком большого размера — 100-200, например — это будет скорее всего memcpy с небольшим объемом памяти. А queue, по идее, при постановке в хвост будет лазать в кучу за элементом, и при забирании с носа — отдавать в кучу элемент. По идее, это можно оптимизировать. Вопрос, как с этим в основных реализациях std?
Если нетривиальные типы — то дека скорее всего будет оптимальнее сразу, а на примитивах — небольшой вектор (до какого-то размера) может быть шустрее.
ЗЫ В принципе, что-то существенное по отношению к остальному коду не выгадаю, но вот просто интересно