如何从队列插入到2D列表中

问题描述 投票:0回答:1

我有一个非常基本的问题。如何从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());)不起作用!

c++ list stl queue
1个回答
1
投票

如果您想在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>
}
© www.soinside.com 2019 - 2024. All rights reserved.