写堆的基本数据结构和基本操作

1. 堆的结构的定义；
2. 写堆的初始化，析构，堆元素数目，堆是否为空的函数。