Class: PriorityQueue

Inherits:
Object
  • Object
show all
Defined in:
lib/rbutils/graph/priorityqueue.rb

Instance Method Summary collapse

Constructor Details

#initializePriorityQueue

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

Returns:

  • (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_maxObject



15
16
17
# File 'lib/rbutils/graph/priorityqueue.rb', line 15

def remove_max
  @queue.shift.last
end

#remove_minObject



19
20
21
# File 'lib/rbutils/graph/priorityqueue.rb', line 19

def remove_min
  @queue.shift.first
end