1

我正在尝试制作一个使用队列实现广度优先搜索的程序。

// 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
    //...

  }

我创建的队列存储了 node- 类型的节点,而树中的节点是 State 类型的。我不能使用复制构造函数,因为两者都是单独的结构。那么组织代码以使树的节点在队列中被接受的有效方法是什么?

4

0 回答 0