Hi,

Am Montag, 18. Juli 2011 16:59:40 UTC+2 schrieb Benny Tsai:

If you know that the input sequence is already sorted, then you can use 
> take-while and drop-while in lieu of subseq.
>
> (subseq (sorted-set 1 2 3 4) < 3) -> (take-while #(< % 3) [1 2 3 4])
> (subseq (sorted-set 1 2 3 4) <= 3) -> (take-while #(<= % 3) [1 2 3 4])
> (subseq (sorted-set 1 2 3 4) > 3) -> (drop-while #(<= % 3) [1 2 3 4])
> (subseq (sorted-set 1 2 3 4) >= 3) -> (drop-while #(< % 3) [1 2 3 4])


However with a different performance promise, I believe. So this is maybe 
the answer to OP's question: you'll have to pay the price. On data structure 
creation or on member access. However you might get away with some saving in 
case you know that your subsequence is short (in case of a two end limited 
subsequence) and always near the vector head.

Sincerely
Meikel

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to