Here's an example w/ iterate & a simpler 'smallest':
(defn- smallest [xs]
(->> xs (map-indexed vector) (sort-by second) first))
(defn selection-sort [s]
(->> (iterate
(fn [[acc xs]]
(let [[i x] (smallest xs)
[l r] (split-at i xs)]
[(conj acc x) (concat l (rest r))]))
[[] s])
(drop-while (comp not-empty second))
ffirst))
I don't think using iterate is a huge win.
Take care,
Moe
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.