Я работаю над обращением по порядку к двоичному дереву поиска. Это то, что у меня есть до сих порПоследовательный ход заказа по схеме
(define (head tree)
(car tree))
(define (left tree)
(cadr tree))
(define (right tree)
(caddr tree))
(define (post-order node)
(if (null? node)
'()
(append (cons (post-order (left node))
(post-order (right node)))
(head node))))
Я ожидаю, что этот код может вернуть список почтовых отправлений после заказа. Однако он даже не компилируется. Ошибка
mcar: contract violation
expected: mpair?
given: 5
Я проверил синтаксис Append и минусы. И я до сих пор не могу понять эту проблему. Кажется, что что-то не так с логикой, а не с синтаксисом.
Можете ли вы указать на это и объяснить это. Спасибо.
Это работает. Спасибо за это четкое объяснение:) –