2012-12-20 41 views
0

請問,我的代碼有什麼不好?我該如何修改它?快速排序方案

(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))))))) 
+2

你可以修復格式! – leppie

+0

請勿將問題替換爲「aaaaaaa」,如果需要,請使用註釋提供更多信息 –

回答

3

一些計劃口譯定義partition過程,但它接收一組不同的參數,所以我假設你定義你自己的版本。執行quicksort所示問題可能工作,但partition程序幾乎肯定是錯誤的。沒有代碼很難說...