1
ツリーノードの値のリストを「予約注文」の方法で返す簡単なコードを記述しようとしています。Scheme - バイナリツリー反復再帰は、何もではなく空のNodeとしてappends()を追加します。
(define pre-iter (lambda (tree)
(if (not (pair? tree))
(list tree)
(append (list (car tree)) (pre-iter (cadr tree)) (pre-iter (caddr tree)))
)))
次のことがなぜ起こるか私は見つけることができません。
(iter-tree (quote (F (B A (D C E)) (G() (I H())))) pre-iter): expected '(F B A D C E G I H), got '(F B A D C E G() I H())
はあなたの助けのためにありがとうございました。
おかげでオスカー、私は演算子を使用して終了リストから括弧を除去する「フラット化」 – Tamarcuse