class PairingHeap::PairingHeap::Node
Attributes
Public Class Methods
Source
# File lib/pairing_heap.rb, line 50 def initialize(elem, priority) @elem = elem @priority = priority @subheaps = nil @parent = nil @prev_sibling = nil @next_sibling = nil end
Public Instance Methods
Source
# File lib/pairing_heap.rb, line 59 def remove_from_parents_list! if prev_sibling prev_sibling.next_sibling = next_sibling next_sibling.prev_sibling = prev_sibling if next_sibling else # parent.subheaps must equal self parent.subheaps = next_sibling next_sibling.prev_sibling = nil if next_sibling end self.prev_sibling = nil self.next_sibling = nil end