Heap Abstract Data Type implemented in C