【发布时间】:2013-11-08 14:44:32
【问题描述】:
我正在尝试在球拍中实现 bst(二叉搜索树)。 bst 是一个递归列表 (list x leftChild rightChild) 其中 leftChild 和 rightChild 是列表本身 我写了以下代码
(define (insert bst x)(
(cond
[(null? bst) (append bst (list x '() '()))]
[(<= x (car bst)) (insert (cadr bst) x)]
[else (insert (caddr bst) x)]
)))
当我写作时
(insert (insert null 8) 9)
它给出一个错误:函数调用:期望在左括号后有一个函数,但收到了(列表 8 为空) 谁能解释一下?
【问题讨论】:
-
您是否将
list定义为不是文件前面的函数的东西?此外,cond周围还有一对额外的括号。一般来说,如果您没有发布足够的上下文来重现您的问题(例如,您使用的是什么语言设置?),则很难给您反馈
标签: functional-programming scheme racket binary-search-tree