Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何打印队列?_C++_Stl_Queue - Fatal编程技术网

C++ 如何打印队列?

C++ 如何打印队列?,c++,stl,queue,C++,Stl,Queue,我正在尝试打印下面的队列。我曾经尝试过创建一个临时队列并写入其中,然后再将其写回 但它不起作用 或者我在这里错过了什么 for(int i=1;i没有有效的方法来执行此操作*。但您可以执行以下操作: 复制队列 在副本上迭代,打印正面,然后弹出它 比如说, #include <queue> #include <iostream> void print_queue(std::queue q) { while (!q.empty()) { std::cout

我正在尝试打印下面的队列。我曾经尝试过创建一个临时队列并写入其中,然后再将其写回

但它不起作用

或者我在这里错过了什么


for(int i=1;i没有有效的方法来执行此操作*。但您可以执行以下操作:

  • 复制队列
  • 在副本上迭代,打印正面,然后弹出它
  • 比如说,

    #include <queue>
    #include <iostream>
    
    void print_queue(std::queue q)
    {
      while (!q.empty())
      {
        std::cout << q.front() << " ";
        q.pop();
      }
      std::cout << std::endl;
    }
    
    int main()
    {
      std::queue<int> q;
      for (auto i : {1,2,3,7,4,9,7,2,4}) q.push(i);
      print_queue(q);
    }
    
    #包括
    #包括
    无效打印队列(标准::队列q)
    {
    而(!q.empty())
    {
    
    std::cout我如何复制队列?这就是我试图做的。伪代码帮助会很棒!
    queue copy=myQueue;
    @user3398034既有a又有an@user3398034我添加了一个示例如果你有像queue这样的自定义类类型,那么我们可以使用q.front().yourMethod()要获取或设置值,请给出提示:如果在代码中打印是一项频繁而重要的操作,那么对于数据类型来说,队列可能是错误的选择,最好使用不同类型的容器。