如何从 QUEUE 插入到 2D LIST
How to insert from QUEUE to 2D LIST
我有一个非常基本的问题。如何从 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>
}
我有一个非常基本的问题。如何从 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>
}