我正在Clojure中实现合并排序。使用我的Java参考点,我需要创建等效的
for (int k = lo; k <= hi; k++) {
aux[k] = a[k];
}
在Clojure。
这是我已经尝试过的:
(defn copy-vector [a aux] (doseq [k a] (swap! aux conj k)))
。 但对于一些应该简单的东西而言,这似乎非常复杂,甚至可能甚至没有做到我需要的东西。有关Clojure方式的任何输入/指导吗?
答案 0 :(得分:0)
以下是Clojure中的一些mergesort实现。
[扰流板警告:这些是完整的实施。如果你想自己解决这个问题,你可能不想立即看看这些。]
https://codereview.stackexchange.com/questions/23627/mergesort-implementation-in-clojure
https://gist.github.com/alco/2135276 (第二个包含指向其他几个实现的链接。)