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”,如果需要,请使用注释提供更多信息