Hi Kevin,

Thanks for the solution.  I’ll try to make a pull request to the docs later 
today, or if I can’t figure that out then I’ll open an issue.  

-Craig


> On Jan 5, 2016, at 9:16 PM, Kevin Squire <[email protected]> wrote:
> 
> Yep, that's definitely not well documented.
> 
> "ord" is an Ordering object which is used mostly in sorting, albeit often 
> behind the scenes.  There are a couple of basic orderings (Forward, Reverse), 
> as well as a few that allow for different types of comparison or sorts (e.g., 
> permutations, lexigraphical ordering).
> 
> Some of these used to be directly exposed, but as far as I can tell, the only 
> way to get to them now is through Base.Order.  Here's how to create a max 
> priority queue:
> 
> import Base.Collections: PriorityQueue, dequeue!
> import Base.Order.Reverse
> pq = PriorityQueue(Int64,Float64,Reverse)
> pq[1] = 1.0
> pq[2] = 234.0
> pq[3] = 2.5
> foo = dequeue!(pq)
> println(foo) # yields "2"
> println(pq)  # yields Base.Collections.PriorityQueue(3=>2.5,1=>1.0) 
> 
> Would you be up to submitting a pull request updating the documentation 
> <https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md#improving-documentation>?
>   Or, if not, can you open an issue 
> <https://github.com/JuliaLang/julia/issues>?  
> 
> It's also probably reasonable to change the constructor to PriorityQueues to 
> be similar to sort function calls, although with some recent changes to 
> functions (#13412 <https://github.com/JuliaLang/julia/pull/13412>), the best 
> way to specify the ordering might change.
> 
> Cheers,
>    Kevin
> 
> 
> 
> On Tue, Jan 5, 2016 at 3:08 PM, Craig Schmidt <[email protected] 
> <mailto:[email protected]>> wrote:
> Sorry for a basic question.  I want to have a maximum priority queue, but I 
> can’t figure out what to pass as the third “ord” parameter. The documentation 
> seems silent on this issue. That is, I want the dequeue call to return 2 
> rather than 1.  Is there a way I could use the system to tell me what it is 
> expecting for the ord parameter?  While I’m at it, what is the most Julian 
> way to import things?
> 
> import Collections: PriorityQueue, dequeue!
> 
> pq = PriorityQueue(Int64,Float64)
> pq[1] = 1.0
> pq[2] = 234.0
> pq[3] = 2.5
> foo = dequeue!(pq)
> println(foo)
> println(pq)
> 
> Thanks,
> Craig
> 
> 

Reply via email to