class Containers::MinHeap
A MinHeap
is a heap where the items are returned in ascending order of key value.
Public Class Methods
new(ary) → new_heap
click to toggle source
Creates a new MinHeap
with an optional array parameter of items to insert into the heap. A MinHeap
is created by calling Heap.new { |x, y| (x <=> y) == -1 }, so this is a convenience class.
minheap = MinHeap.new([1, 2, 3, 4]) minheap.pop #=> 1 minheap.pop #=> 2
Calls superclass method
Containers::Heap::new
# File lib/containers/heap.rb 471 def initialize(ary=[]) 472 super(ary) { |x, y| (x <=> y) == -1 } 473 end
Public Instance Methods
min → value
click to toggle source
min → nil
Returns the item with the smallest key, but does not remove it from the heap.
minheap = MinHeap.new([1, 2, 3, 4]) minheap.min #=> 1
# File lib/containers/heap.rb 483 def min 484 self.next 485 end
min! → value
click to toggle source
min! → nil
Returns the item with the smallest key and removes it from the heap.
minheap = MinHeap.new([1, 2, 3, 4]) minheap.min! #=> 1 minheap.size #=> 3
# File lib/containers/heap.rb 496 def min! 497 self.pop 498 end