c ++中队列结构中的struct节点

时间:2016-09-11 09:12:11

标签: c++ data-structures

假设我有一个这样的节点:

struct node{
  int a;
  int b;
} 

现在我想在cpp中创建一个队列结构。如果数据类型是int,那么我们可以通过这种方式轻松完成:

queue<int> a;

我们还可以推送或弹出这样的元素:a。 push_back(12)或a。弹出(12)

但是在早期的情况下,当用户定义out数据类型时,我们如何制作这样的队列并从中推送或弹出elemeqnts?

4 个答案:

答案 0 :(得分:3)

在容器之类的队列中保存非{POD类似{em(例如)}或struct

class

答案 1 :(得分:1)

如果你有

struct node{
    int a;
    int b;
};

std::queue<node> q;

您可以使用push,如下所示:

q.push({ 11, 12 });

这会增加一个node,其中a = 11且b = 12。

只要可以进行复制列表初始化,就可以工作,就像在这种情况下一样。否则你必须使用q.push(node{ 11, 12 });

答案 2 :(得分:1)

$data = Input::all();

答案 3 :(得分:-4)

使用队列a;制作节点类型的对象并使用函数a.push_back() a.pop_front()分别推送和弹出。也不要忘记#include queue。