我正在为考试而学习,从我正在查看的一个工作表中,它要求为存储整数的最小堆编写一个方法 maximum()。
public class Heap {
private int[] arr = new int[100];
private int numElts = 0;
public int largest(){
}
}
最大大小为 100 个元素,newElt 跟踪存储在堆中的当前元素数。
我正在考虑做类似的事情:
int[] newArr = Collections.sort(arr);
return newArr[newElt];
但这会改变原来的堆。我可以对其进行深层复制,但它说它没有必要检查所有堆元素。
那么任何人都可以提出一种方法来做到这一点,而无需查看每一个元素吗?谢谢,