バラの木の特定の要素を検索し、その場所を返す関数を作成しようとしています。
私がすでに得たものをあなたに示すとき、それはより明確かもしれません:
定義のあるツリーが与えられた場合:
データツリーテキスト=ノード値[ツリー値]
例えば:
test = Node "1" [
Node "11" [
Node "111" [],
Node "112" [
Node "1121" [], Node "1122" [], Node "1123" []
]
],
Node "12" []
]
1
11 12
111 112
1121 1122 1123
関数検索を探しています:
search :: String -> Tree String -> [Integer]
検索1123テスト->[1,2,3]を返す必要があります
-1=11の最初のサブツリー->11= 112の2番目のサブツリー、112=1123の3番目のサブツリー
ツリーを反復処理する方法を知っています。
display (Node v xs) = v ++ concatMap display xs
しかし、サブツリー配列のすべての要素に整数値を割り当て、さらにツリーの上部から下部に再帰的に渡す方法がわかりません。解決策を探す場所/方法を教えてもらえますか?私はHaskellにとても慣れていません。