finished but not yet tested the following functions: add, remove, percUp, percDown, length, printHeap