Scheme 快速排序方案

Scheme 快速排序方案,scheme,Scheme,请问,我的代码有什么不好的地方?我如何修改它 (define pivot (lambda (l) (cond ((null? l) 'done) ((null? (cdr l)) 'done) ((<= (car l) (cadr l)) (pivot (cdr l))) (#t (car l))))) (define (quicksort l) (let ((piv (pivot l))) (if (equal? piv 'done)

请问,我的代码有什么不好的地方?我如何修改它

(define pivot (lambda (l)
  (cond ((null? l) 'done)
    ((null? (cdr l)) 'done)
        ((<= (car l) (cadr l)) (pivot (cdr l)))
        (#t (car l)))))

(define (quicksort l)
 (let ((piv (pivot l)))
   (if (equal? piv 'done) l
     (let ((parts (partition piv l () ())))
       (append (quicksort (car parts)) 
               (quicksort (cadr parts)))))))
(定义轴(λ(l))
(cond((null?l)'完成)
((null?(cdr l))'完成)

((一些方案解释器定义了一个
分区
过程,但它接收到一组不同的参数,因此我假设您定义了自己的版本。问题中所示的
快速排序
的实现可能会起作用,但
分区
过程几乎肯定是错误的。如果没有de..

一些方案解释器定义了一个
分区
过程,但它接收到一组不同的参数,因此我假设您定义了自己的版本。问题中显示的
快速排序
的实现可能会起作用,但
分区
过程几乎肯定是错误的。如果没有您,很难判断t代码…

您可以修改格式!不要将问题替换为“aaaaaaa”,如果需要,请使用注释提供更多信息您可以修改格式!不要将问题替换为“aaaaaaa”,如果需要,请使用注释提供更多信息