Class: PriorityQueue
- Inherits:
-
Object
- Object
- PriorityQueue
- Includes:
- Enumerable
- Defined in:
- lib/oink/priority_queue.rb
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(size) ⇒ PriorityQueue
constructor
A new instance of PriorityQueue.
- #push(item) ⇒ Object
- #size ⇒ Object
- #to_a ⇒ Object
Constructor Details
#initialize(size) ⇒ PriorityQueue
Returns a new instance of PriorityQueue.
5 6 7 8 |
# File 'lib/oink/priority_queue.rb', line 5 def initialize(size) @size = size @queue = [] end |
Instance Method Details
#each ⇒ Object
27 28 29 |
# File 'lib/oink/priority_queue.rb', line 27 def each @queue.each { |i| yield i } end |
#push(item) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'lib/oink/priority_queue.rb', line 10 def push(item) if @queue.size < @size @queue << item elsif item > @queue.last @queue[@size - 1] = item end prioritize end |
#size ⇒ Object
23 24 25 |
# File 'lib/oink/priority_queue.rb', line 23 def size @queue.size end |
#to_a ⇒ Object
19 20 21 |
# File 'lib/oink/priority_queue.rb', line 19 def to_a @queue end |