insert new element at the insertion point (first empty slot, to the right of the step on the near-delta) swap up to it's proper place (to preserve heapness) i.e. if ! at root of heap if it is < its parent (i.e. is out of place) { swap roots with parent recurse on parent }running time?
save the root (to return) swap from rightmost, bottom row (to the left of the step on the near-delta) and trim the old root swap the root down to the proper place i.e. if ! a leaf if it is > either child (or just the left, if there's no right) { swap roots with smaller child recurse on that child }running time?
for each element in the list insert in the heap list.clear(); while !heap.isEmpty() list.add(heap.deleteRoot());