利用一维数组模拟堆,父节点小于孩子节点
利用down(i)函数实现:当父亲节点大于孩子节点时,父亲节点的下调
利用up(i)函数实现:当父亲节点大于孩子节点时,孩子节点的上调
基本操作:
1、插入一个数 herp[++cnt]=x;up(size);
2、求集合当中的最小值 herp[1];
3、删除最小值 herp[1]=herp[size];size--;down[1];
4、删除任意一个元素 herp[k]=herp[size];size--;up(k);down(k);
5、修改任意一个元素 herp[k]=x;up(k);down(k);
备注:操作中up函数和down函数同时存在可以节省时间