Я использую доктор рэкет, язык довольно большой, и я пытаюсь сделать простое дерево двоичного поиска «в?» метод, который будет возвращать, если значение в двоичном дереве поиска или нет. Она должна быть общей, принимая любой вид дерева поиска (будь то содержать строки, Интс и т.д.), но я бегу в это сообщение об ошибке, что сводит меня с ума. Любая помощь приветствуется, вот код:
РЕДАКТИРОВАНИЕ :: Он работает сейчас, но не с чем-либо, кроме чисел (или, по крайней мере, не работает со строками) .. Новый номер:
(define (bstsearch tree value)
(cond
((null? tree) #f)
((< value (car tree))
(bstsearch (cadr tree) value))
((> value (car tree))
(bstsearch (caddr tree) value))
((= value (car tree))
#t)
))
Ошибка я получаю говорит:
<: expects type <real number> as 1st argument, given: horse; other arguments were: horse
Когда используешь:
(bstsearch '(horse (cow () (dog () ())) (zebra (yak ()()) ())) horse)
в качестве входных данных.













