【发布时间】:2015-10-23 21:54:44
【问题描述】:
我对 Scheme 很陌生,无法理解为什么这对我不起作用。我正在尝试从 BST 结构返回一个有序列表,但似乎无法将其用于 cons 或将汽车附加到列表中。我显然做错了什么。有什么建议么?谢谢。
(define (sortList lst)
(printList '(16 (8 (2 () ()) (10 () ())) (20 (18 () ()) (30 () ()))) (list) )
)
(define (printList lst sorted)
; recur smaller
(unless (null? (cadr lst))
(cons (printList (cadr lst) sorted) sorted))
; debugging...
(writeln (car lst))
; build sorted list
(cons (car lst) sorted )
; recur larger
(unless (null? (caddr lst))
(cons (printList (caddr lst) sorted) sorted))
; return sorted lst
sorted
)
【问题讨论】:
-
Scheme 没有声明,你糟糕的格式似乎暗示了这一点。
-
您介意详细说明一下吗?我不明白你的说法。
-
(cons 2 sorted)创建一个新列表 - 它不会更改存储在sorted中的现有值。 -
啊,该死的,当然!谢谢! - 这是我已经工作了大约 12 个小时的一项更大任务的一部分,我的思绪开始让我失望了……;D
标签: scheme lisp racket binary-search-tree