(define make-empty-tree (lambda () '())) (define make-nonempty-tree (lambda (root left-subtree right-subtree) (list root left-subtree right-subtree))) (define example-tree (make-nonempty-tree 191 (make-nonempty-tree 157 (make-empty-tree) (make-empty-tree)) (make-nonempty-tree 202 (make-nonempty-tree 200 (make-empty-tree) (make-empty-tree)) (make-empty-tree)))) (define empty-tree? null?) (define root car) (define left-subtree cadr) (define right-subtree caddr) (define inorder (lambda (tree) (if (empty-tree? tree) '() (append (inorder (left-subtree tree)) (cons (root tree) (inorder (right-subtree tree))))))) (define inorder-onto (lambda (tree lst) ; all elements of tree in order onto the front of lst (if (empty-tree? tree) lst (inorder-onto (left-subtree tree) (cons (root tree) (inorder-onto (right-subtree tree) lst))))))