因此,我不得不为二叉树编写一个插入函数,使其成为二进制搜索树,但我遇到了一些麻烦。一切都是函数,所以我理解没有状态的概念。因此,在插入时,我需要递归地创建树。我很难接受这个想法。procedure(val, left, right) procedure(some) if some then -(some, 1) then right else left else val.treenode(4, 0, 0)
要创建更复杂
我想创建一个inbetweenbst: int int BST -> ilist函数,用作(inbetweenbst I j t),它会生成一个列表,列出所使用的BST t中严格在i和j之间的所有键。如果t中没有任何元素的键在这个范围内,那么该函数应该生成一个空列表。假设i≤j(define (bst->list t) [(e