0
我是新來的計劃,並試圖寫一個快速排序,我似乎無法得到濾波器的功能。我相信過濾器有兩個參數,一個過程可以應用於列表中的每個元素,然後是應用該過程的列表。計劃(博士)過濾器問題
#lang racket
;Quick sort
(define(quickSort l)
(cond
[(null? l)('(()))]
[(append(quickSort(filter(lambda(x)(< x car l))(cdr l))))(list(car l))(quickSort(filter(lambda(x)(>= x car l)(cdr l) cdr l)))]
)
)
(quickSort '(5 9 4 6 8 7 1 9))
這給了我違反合同,上面寫着(< X汽車L)應該是什麼?真實的,什麼是越來越是汽車的過程。
我試圖提取所述過濾器功能,並通過自身運行它,像這樣:
(過濾器(拉姆達(X)(< X汽車 '(3 5 1 7 8))(CDR'(3 5 1 7 8))))
但這告訴我只有一個參數。我不知道爲什麼。在我看來,有兩個。
那麼,有什麼想法?我最初認爲它可能是過濾器函數的參數問題,但現在我想可能lambda不能接受(car l)參數?在通過之前不會評估嗎?