如何从 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>
}