create heap.c final version