我有一個用戶給我一個隨機的對象數組,我想做一些錯誤檢查,基本上我想讓空對象位於數組的末尾,這樣數組的中間是僅由非空對象組成(對象的排序無關緊要)。對數組連續排序
這是我有,它不工作。 任何人都可以請幫忙。
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