1
我試圖寫一個序遍歷,而無需使用附加,這裏是我的代碼序遍歷工作不正常
(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()()))))
當我打電話(序樹-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)。我究竟做錯了什麼?謝謝!
問題是關於做不追加 – WorBlux
@WorBlux哎呀,我忘了。修復它...。 –
仍然認爲有更好的方法,現在就開始工作吧 – WorBlux