class PairingHeap::PairingHeap::Node
Attributes
elem[RW]
next_sibling[RW]
parent[RW]
prev_sibling[RW]
priority[RW]
subheaps[RW]
Public Class Methods
new(elem, priority)
click to toggle 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
remove_from_parents_list!()
click to toggle 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