Switch to edit mode.
Name(s): add_tree_to_heap1: {heap, tree, degree} = args 2: if (tree == {}) 3: return heap 4: elseif (length(heap) < degree) 5: while (length(heap) < degree - 1) 6: heap = {@heap, {}} 7: endwhile 8: return {@heap, tree} 9: elseif (!heap[degree]) 10: heap[degree] = tree 11: return heap 12: else 13: existing_tree = heap[degree] 14: heap[degree] = {} 15: return this:add_tree_to_heap(heap, this:tree_join(tree, existing_tree), degree + 1) 16: endif