我有一个用户给我一个随机的对象数组,我想做一些错误检查,基本上我想让空对象位于数组的末尾,这样数组的中间是仅由非空对象组成(对象的排序无关紧要)。对数组连续排序
这是我有,它不工作。 任何人都可以请帮忙。
private void properArray(){
int i = 0;
int j;
int cap = theHeap.length;
for(; i < (cap-1); i++){
if (theHeap[i] == null){
j = i + 1;
while(j < (cap-1)){
if(theHeap[j] != null){
theHeap[i] = theHeap[j];
theHeap[j] = null;
}
j++;
}
}
}
}
为什么O(N log N)操作更高效?该任务可以在O(N)中完成。 – 2012-03-15 16:46:03
@TedHopp:很好,你说得对。 – 2012-03-15 16:48:46