# [erlang-questions] Priority queue

yerl <>
Fri Jul 6 15:11:43 CEST 2007

```As pointed by Ulf for priority queues, just use "gb_trees".

What do you mean by "efficient message retrieval" ?

cheers
Y.

Explain further your problem? What do you want to

----Message d'origine----
>De: "Eranga Udesh" <>
>A: "'Ulf Wiger \(TN/EAB\)'" <>,
>	"'Yerl'" <>,
>	<>
>Sujet: RE: [erlang-questions] Priority queue
>Date: Fri, 6 Jul 2007 17:43:09 +0530
>
>How to handle Priority Queues between processes, while keeping efficient
>message retrieval?
>
>BRgds,
>- Eranga
>
>
>-----Original Message-----
>From:
>[mailto:] On Behalf Of Ulf Wiger (TN/EAB)
>Sent: Thursday, June 28, 2007 2:17 AM
>To: Yerl;
>Subject: Re: [erlang-questions] Priority queue
>
>
>You can use a gb_trees structure:
>
>in(Item, Prio, Q) ->
>   gb_trees:insert({Prio,now()}, Item, Q).
>
>out(Q) ->
>   gb_trees:take_smallest(Q).
>
>peek(Q) ->
>   gb_trees:smallest(Q).
>
>The order will be FIFO. If you want LIFO, you
>could negate the Prio value and take_largest
>
>BR,
>Ulf W
>
>> -----Original Message-----
>> From:
>> [mailto:] On Behalf Of Yerl
>> Sent: den 27 juni 2007 20:56
>> To:
>> Subject: [erlang-questions] Priority queue
>>
>> Hi Folks!
>>
>> I'm looking for a robust implementation of "Priority queue"
>> (http://en.wikipedia.org/wiki/Priority_queue) in Erlang.
>>
>> Any pointer?
>>
>> cheers
>> Y.
>> _______________________________________________
>> erlang-questions mailing list
>>
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>_______________________________________________
>erlang-questions mailing list
>
>http://www.erlang.org/mailman/listinfo/erlang-questions
>
>

```