Class: DS::AnyPriorityQueue

Inherits:
PriorityQueue
  • Object
show all
Defined in:
lib/assembly/bubbly_assembler.rb

Overview

Like DS::PriorityQueue except give the ability to define how priority is given

Instance Method Summary collapse

Constructor Details

#initializeAnyPriorityQueue

Create new priority queue. Internaly uses heap to store elements.



7
8
9
# File 'lib/assembly/bubbly_assembler.rb', line 7

def initialize
  @store = DS::BinaryHeap.new {|parent,child| yield parent.key, child.key}
end

Instance Method Details

#eachObject



11
12
13
14
15
# File 'lib/assembly/bubbly_assembler.rb', line 11

def each
  @store.to_a.each do |pair|
    yield pair.value
  end
end