Class: PriorityQueue
- Inherits:
-
Object
- Object
- PriorityQueue
- Defined in:
- lib/rbutils/graph/priorityqueue.rb
Instance Method Summary collapse
- #any? ⇒ Boolean
-
#initialize ⇒ PriorityQueue
constructor
A new instance of PriorityQueue.
- #insert(key, value) ⇒ Object
- #remove_max ⇒ Object
- #remove_min ⇒ Object
Constructor Details
#initialize ⇒ PriorityQueue
Returns a new instance of PriorityQueue.
2 3 4 |
# File 'lib/rbutils/graph/priorityqueue.rb', line 2 def initialize @queue = {} end |
Instance Method Details
#any? ⇒ Boolean
6 7 8 |
# File 'lib/rbutils/graph/priorityqueue.rb', line 6 def any? return @queue.any? end |
#insert(key, value) ⇒ Object
10 11 12 13 |
# File 'lib/rbutils/graph/priorityqueue.rb', line 10 def insert(key, value) @queue[key] = value @queue.sort_by {|_key, value| value } end |
#remove_max ⇒ Object
15 16 17 |
# File 'lib/rbutils/graph/priorityqueue.rb', line 15 def remove_max @queue.shift.last end |
#remove_min ⇒ Object
19 20 21 |
# File 'lib/rbutils/graph/priorityqueue.rb', line 19 def remove_min @queue.shift.first end |