Class: ActiveBacon::A::Star::PriorityQueue
- Inherits:
-
Object
- Object
- ActiveBacon::A::Star::PriorityQueue
- Defined in:
- lib/active_bacon/a/star.rb
Instance Method Summary collapse
- #<<(pitem) ⇒ Object
- #add(priority, item) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize ⇒ PriorityQueue
constructor
A new instance of PriorityQueue.
- #next ⇒ Object
Constructor Details
#initialize ⇒ PriorityQueue
Returns a new instance of PriorityQueue.
68 69 70 |
# File 'lib/active_bacon/a/star.rb', line 68 def initialize @list = [] end |
Instance Method Details
#<<(pitem) ⇒ Object
77 78 79 |
# File 'lib/active_bacon/a/star.rb', line 77 def <<(pitem) add(*pitem) end |
#add(priority, item) ⇒ Object
72 73 74 75 |
# File 'lib/active_bacon/a/star.rb', line 72 def add(priority, item) @list << [priority, @list.length, item] @list.sort! end |
#empty? ⇒ Boolean
85 86 87 |
# File 'lib/active_bacon/a/star.rb', line 85 def empty? @list.empty? end |
#next ⇒ Object
81 82 83 |
# File 'lib/active_bacon/a/star.rb', line 81 def next @list.shift[2] end |