Gepostet: |
Einen n-ären Baum in Liste umwandeln | ||||||||||
Folgendes Haskell-Programm ist gegeben:data Baum a = Knoten a [Baum a] Wie kann ich jetzt eine Funktion toList :: Baum a -> [a] schreiben, die den Baum in eine Liste umwandelt und dabei den Wert eines Knotens vor den Wert seiner Kinder einfügt, sodass der Aufruf "toList baum" die Liste "hallo welt!" liefert? |
|||||||||||
Zum Seitenanfang | |||||||||||
Gepostet: |
|||||||||||
Hallo, Das lässt sich durch Rekursion recht leicht lösen. Deine Funktion gibt für einen Wert (Knoten x baeume) einfach x zurück und hängt daran die rekursiv berechneten Bäume baeume an. Wenn baeume == [] gibst du einfach einen Leerstring "" zurück. So als Tipp: Eine Hilfsfunktion toListMany :: [Baum a] -> [a] schreiben, die in toList für die Liste von Unterbäumen aufgerufen wird und selbst wieder für jeden Baum in der Liste toList aufruft. Viele Grüße, Siracusa |
|||||||||||
Zum Seitenanfang | |||||||||||