Я сделал следующую функцию под названием remarangeSomething . Я хочу переместить элементы из очереди в приоритетную очередь.
Я думаю, что будет медленно, если я реализую функцию, подобную следующей. но я понятия не имею, иначе. это лучший способ?
эта функция вызывается довольно часто.
// member variable
// std::priority_queue<T> pq;
// sdt::queue<T> q
template <typename T>
void rearrangeSomething(std::queue<T> q) // bring queue you want as a copy
{
pq = std::priority_queue<T>(); // to remove existing elements
while(!q.empty())
{
pq.push(q.front());
q.pop();
}
}