追加を使用せずに順序通りのトラバーサルを記述しようとしています。これが私のコードです
(define inorder
(lambda (tree)
(define inorder-iter
(lambda (tree list)
(if (empty-tree? tree)
list
(cons (inorder-iter (left-subtree tree)
(root tree)
(inorder-iter (right-subtree tree) list)))))
(inorder-iter tree '() )))
(define empty-tree? null?)
(define root car)
(define left-subtree cadr)
(define right-subtree caddr)
tree-1
(9
(6 (5 () ()) ())
(18 (11 () (13 () (17 () ()))) (65 (52 (41 (39 () ()) ()) ()) (99 () ()))))
(inorder tree-1) を呼び出すと、 (((5 . 6) . 9) (11 13 17 . 18) (((39 . 41) . 52) . 65) 99) が得られます。私が取得しようとしているのは '(5 6 9 11 13 17 18 39 41 52 65 99) です。私は正確に何を間違っていますか?ありがとうございました!