<div dir="ltr"><div><div><div>Hi Martin,<br><br></div>What you want depends on more details. If you just have a list of items, you can access its first item which is less than some "n" by doing:<br><br></div>headMay (filter (< n) xs)<br><br></div><div>Would this solution satisfy you? If not -- what condition would not be met?<br><br></div><div>You mentioned something regarding that with ordered list you'd have to traverse half of the list on average. What did you mean by that? (I mean, if you have ordered list, then either its first element is what you need, or none of them are)<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 18, 2015 at 11:49 PM, martin <span dir="ltr"><<a href="mailto:martin.drautzburg@web.de" target="_blank">martin.drautzburg@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello all,<br>
<br>
I want to find the lowest element in a collection of items which is greatet or equal to a given element. There can be<br>
more than one such element in which case I wouldn't care which one I get. I still want to be able to iterate over the<br>
elements following the found element. In a way I want the equivalent of<br>
<br>
select ...<br>
from table<br>
where table.x > n<br>
<br>
<br>
How would I do this efficiently?<br>
<br>
I tried using an ordered list, but I would still have to traverse half the list on average.<br>
<br>
I suppose I can do this with some sort of tree, but i don't want to write all the code myself. But I couldn't find<br>
anything off the shelf.<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners</a><br>
</blockquote></div><br></div>