Before I go and hack a ugly implementation of a priority queue, I just wanted to ask if anyone has seen or can point me to an already implemented version?
CPAN has a List::Priority, but this is really (as the module name implies) just a list of elements where elements have some sort of ordering when popped.
A real priority queue would allow you to change the priority of any element at any given time, and would allow you to perform any action on the queue (pop, insert, modify_priority) in O(lgn).
Thanks.