0
Целью кодекса была искать ключ (к), и если, замените значение с VРакетка: поиск и замена в бинарном дереве
(define-struct node (key value left right))
(define (insert k v tree)
(cond
[(empty? tree) (list k v) ]
[(equal? (node-key tree) k)
(make-node k v (insert k v (node-left tree))
(insert k v (node-right tree)))]
[else (make-node (node-key tree) (node-value tree)
(insert k v (node-left tree)) (insert k v (node-right tree)))]))
(define sample (make-node 2 "two"
(make-node 1 "one" empty empty)
(make-node 3 "three" empty empty)))
Выходом с образцом и 1. «привет» должна быть
(make-node 2 "two"
(make-node 1 "hello" empty empty)
(make-node 3 "three" empty empty))
, но вместо этого
(make-node 2 "two"
(make-node 1 "hello"
(list 1 "hello")
(list 1 "hello"))
(make-node 3 "three"
(list 1 "hello")
(list 1 "hello")))
Любые предложения, чтобы вызвать выход идти разыскиваемые один?