互いに素なセットと Union/Find 操作を使用して C++ Maze プログラムを作成しています。
MakeSet(int x)
迷路内のすべての整数要素 x に対して新しいノードを作成する関数があります。(つまり1 to 16
、4x4 の迷路の場合)。したがって、最初はすべての要素が独自のセットになっています。
私のMakeSetは次のようになります
void Maze::MakeSet(int x)
{
Node *root = new Node;
root->label = x;
root->parent = NULL;
}
しかし、CreateMaze() 関数では、MakeSet を何度も呼び出して、最初にすべての要素を独自のセットに取得する必要があります。したがって、ルートは上書きされ続けます。多くの異なるノードを動的に割り当てるにはどうすればよいですか? それらを配列で分離しておく必要がありますか?