我正在尝试创建一个使用队列实现广度优先搜索的程序。
// Queue.h
#pragma once
#include<iostream>
struct node
{
int b1,b2,b3,b4;
node* link;
};
struct state
{
int b1,b2,b3,b4;
state* rightChild;
state* leftChild;
};
class Queue
{
private:
node* front, *rear ;
public:
bool enqueue(node n);
//......
};
//BFS.cpp
#include <iostream>
#include "Queue.h"
int main()
{
struct state
{
int b1,b2,b3,b4;
state* rightChild;
state* leftChild;
};
// now i define all the nodes of the tree, each node is of type state
Queue Q; // make a queue
Q.enqueue(initialState); //where initialState is the root
//...
}
我创建的队列存储节点类型的节点 - 而树中的节点是State类型。我不能使用复制构造函数,因为它们都是单独的结构。那么,组织代码以使队列中的节点被接受的有效方法是什么呢?