У меня проблема с очередями в моей программе. Имея одну очередь, я хотел бы использовать эту очередь, только с другим идентификатором. Вот что у меня есть сейчас:
queue<R> queue;
queue<R> queue2;
...
while (! queue2.empty() )
{
R r = queue2.front();
queue2.pop();
queue.push(r);
}
Но это линейно. Я надеюсь, что это можно сделать за время O(1). Я пытался использовать ссылки, но мне это не удалось.
queue = queue2
иqueue = &queue2
. Но это было нехорошо. Я хотел бы избежать копирования всех элементов, потому что в моей программе это занимает много времени. - person JosephConrad   schedule 16.01.2012std::list
- худший контейнер. Используйтеstd::deque
здесь. - person GManNickG   schedule 16.01.2012