我如何 return Dr Racket 列表的顶点?
How can I return vertex of the list on Dr Racket?
我正在尝试在球拍上获得顶点。但是我不能
我错过了什么?
(define-struct node (vertex val left right))
(define (list-tree) (make-node 5 'a (make-node 1 'b empty empty) (make-node 6 'c empty (make-node 14 'd empty empty))))
(define (find-level T)
(+ (node-vertex T) (node-vertex (node-left T)
)))
(find-level 'd)
输出是:node-vertex: expects a node, given 'd
如何获取?
创建节点时需要给节点命名。
(define-struct node (vertex val left right)) ; define what node means
(define d (make-node 14 'd empty empty)) ; make a node and name it d
(define a-tree
(make-node 5 'a (make-node 1 'b empty empty)
(make-node 6 'c empty d))) ; use the name d here
(define (find-level T)
(+ (node-vertex T) (node-vertex (node-left T))))
(find-level d) ; use the name d here
我现在已经展示了如何命名节点并在其他地方使用它。
我还没有检查 find-level 是否满足你的要求。
我正在尝试在球拍上获得顶点。但是我不能
我错过了什么?
(define-struct node (vertex val left right))
(define (list-tree) (make-node 5 'a (make-node 1 'b empty empty) (make-node 6 'c empty (make-node 14 'd empty empty))))
(define (find-level T)
(+ (node-vertex T) (node-vertex (node-left T)
)))
(find-level 'd)
输出是:node-vertex: expects a node, given 'd
如何获取?
创建节点时需要给节点命名。
(define-struct node (vertex val left right)) ; define what node means
(define d (make-node 14 'd empty empty)) ; make a node and name it d
(define a-tree
(make-node 5 'a (make-node 1 'b empty empty)
(make-node 6 'c empty d))) ; use the name d here
(define (find-level T)
(+ (node-vertex T) (node-vertex (node-left T))))
(find-level d) ; use the name d here
我现在已经展示了如何命名节点并在其他地方使用它。 我还没有检查 find-level 是否满足你的要求。