親ノードと子ノードで構成されるツリーデータ構造があります。次のようなものです。
<Node1>
<Node2/>
<Node3>
<Node4/>
</Node3>
</Node1>
そして、構造を解析するために、μ再帰関数を使用します。
void RecursiveFunction(NodeT node)
{
if(node.has_child())
RecursiveFunction(node.child());
}
たとえば、Node2などのパラメータとしてRecursiveFunctionを呼び出す場合、最初のノードのデータは作成前に呼び出しスタックに保存されているため、追加のデータ構造を使用してこれらのデータを保存せずに、父(Node1)データにアクセスしたいと思います。再帰呼び出し。したがって、Node2を解析しているときに、コールスタックにアクセスして、Node1のデータを読み取る必要があります。これは、父親への直接アクセスに失敗するなどです。
たとえば、Node4を解析している場合:
void RecursiveFunction(NodeT node)
{
/* Access to Node3 and Node1 data...
if(Node4.has_child())
RecursiveFunction(Node4.child()); */
}
出来ますか?どのように?
ありがとう。