【发布时间】:2012-11-04 19:42:16
【问题描述】:
我正在为考试而学习,从我正在查看的一个工作表中,它要求为存储整数的最小堆编写一个方法 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];
但是那会改变原来的堆。 我可以对其进行深层复制,但它说它没有必要检查所有堆的元素。
那么任何人都可以提出一种方法来做到这一点,而无需查看每个元素吗? 谢谢,
【问题讨论】:
-
我可以在添加时跟踪最大值,但是如果它要求我在考试中写最大(),我不能只写添加或插入:P