4
我想更改以下Quicksort實現的合同,以返回執行排序操作所需的遞歸調用數的計數。在不完全重新實現函數的情況下更改遞歸函數合同?
來源:http://rosettacode.org/wiki/Sorting_algorithms/Quicksort#Clojure
(defn qsort [[pivot & xs]]
(when pivot
(let [smaller #(< % pivot)]
(lazy-cat (qsort (filter smaller xs))
[pivot]
(qsort (remove smaller xs))))))
我想要做的是落實在內部使用了上述的qsort實施counted-qsort
。
我正在尋找一個如何做到這一點的例子。我懷疑(bind ...)
可能會涉及。