Hi Martin,

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:

headMay (filter (< n) xs)

Would this solution satisfy you? If not -- what condition would not be met?

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)

On Wed, Mar 18, 2015 at 11:49 PM, martin <martin.drautzburg@web.de> wrote:
Hello all,

I want to find the lowest element in a collection of items which is greatet or equal to a given element. There can be
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
elements following the found element. In a way I want the equivalent of

select ...
from table
where table.x > n


How would I do this efficiently?

I tried using an ordered list, but I would still have to traverse half the list on average.

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
anything off the shelf.
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/beginners