all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,7 @@
|
|||
(defn qsort [L]
|
||||
(if (empty? L)
|
||||
'()
|
||||
(let [[pivot & L2] L]
|
||||
(lazy-cat (qsort (for [y L2 :when (< y pivot)] y))
|
||||
(list pivot)
|
||||
(qsort (for [y L2 :when (>= y pivot)] y))))))
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
(defn qsort [[pvt & rs]]
|
||||
(if pvt
|
||||
`(~@(qsort (filter #(< % pvt) rs))
|
||||
~pvt
|
||||
~@(qsort (filter #(>= % pvt) rs)))))
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
(defn qsort [[pivot & xs]]
|
||||
(when pivot
|
||||
(let [smaller #(< % pivot)]
|
||||
(lazy-cat (qsort (filter smaller xs))
|
||||
[pivot]
|
||||
(qsort (remove smaller xs))))))
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
(defn qsort3 [[pvt :as coll]]
|
||||
(when pvt
|
||||
(let [{left -1 mid 0 right 1} (group-by #(compare % pvt) coll)]
|
||||
(lazy-cat (qsort3 left) mid (qsort3 right)))))
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
(defn qsort3 [[pivot :as coll]]
|
||||
(when pivot
|
||||
(lazy-cat (qsort (filter #(< % pivot) coll))
|
||||
(filter #{pivot} coll)
|
||||
(qsort (filter #(> % pivot) coll)))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue