Danke Alex!
Deine zweite Variante sieht für das konkrete Problem angepasst und ganz leicht optimiert dann so aus:
Code:
(defun flatten-loop(node)
(cond
((null (node-children node)) (list node))
(t (cons node (loop for n in (node-children node)
nconcing (flatten-loop n))))))
Auf jeden Fall schon mal gut zu lesen, finde ich.
Die Performanceergebnisse sind eher gemischt. Ich werde noch ein paar Tests fahren und die Ergebnisse dann dem Blogartikel hinzufügen. Dankeschön nochmals!
------------------
CoCreate Modeling FAQ: http://www.clausbrod.de/CoCreateModeling/
[Diese Nachricht wurde von clausb am 08. Apr. 2015 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP