我有一个非常基本的问题。如何从QUEUE推送到LIST。我几乎是从队列复制到列表。这是我的示例:
list<list<BoardingTicket>> boardPassenger(queue<BoardingTicket>& waitingLine){
list< list<BoardingTicket>> combinedList;
while(!waitingLine.empty()){
combinedList.push_back(waitingLine.front());
waitingLine.pop();
}
return combinedList;
}
是更简单的方法,还是需要使用迭代器。
提前感谢!
编辑:第4行(combinedList.push_back(waitingLine.front());)不起作用!
如果您想在std::queue<T>
上使用迭代器,则不可能。没有针对它们的迭代器。
如果您想使用列表的迭代器,但我认为push_back()
更容易且更清晰。
使用以下内容
list<list<BoardingTicket>> boardPassenger(queue<BoardingTicket>& waitingLine){
list<BoardingTicket> combinedList;
while(!waitingLine.empty()){
combinedList.insert(combinedList.begin(), waitingLine.front());
waitingLine.pop();
}
return list<list<BoardingTicket>>{std::move(combinedList)};//#include<utility>
}