class Mendel::MinPriorityQueue
Attributes
wrapped_queue[RW]
Public Class Methods
new()
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 8 def initialize self.wrapped_queue = PriorityQueue.new end
Public Instance Methods
dump()
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 24 def dump [].tap {|items| items << pop while length > 0 } end
dump_json()
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 30 def dump_json JSON.dump(dump) end
length()
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 20 def length wrapped_queue.length end
load(items)
click to toggle source
TODO - make the load methods class methods
# File lib/mendel/min_priority_queue.rb, line 35 def load(items) items.each do |item| push(*item) end end
load_json(json)
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 41 def load_json(json) load(JSON.parse(json)) end
pop()
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 16 def pop wrapped_queue.delete_min end
push(item, priority)
click to toggle source
# File lib/mendel/min_priority_queue.rb, line 12 def push(item, priority) wrapped_queue.push(item, priority) end