/**
*实现最大堆
*用数组存储
*小优化:将swap用赋值代替,先不急着交换,先复制,再移动,最后赋值
*第一种堆排序,从小到大排序
*时间复杂度为O(nlogn)
*空间复杂度O(n)
*/
public class MaxHeap {
private int count; //记录堆中存储元素的个数
private static int[] data; //用数组存储二叉堆
private int capacity;
public MaxHeap(int capacity) {
//在构造方法中初始化
count=0;
data=new int[capacity+1];//因为根节点从1开始,所以存储空间加1
//不能省略,否则默认类中的capacity为0;
this.capacity=capacity;
}
//判断堆是否为空
boolean isEmpty() {
return count==0;
}
//输出堆中元素个数
int size() {
return count;
}
public int getCapacity() {
return