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 ...)
可能会涉及。