-2
A
回答
1
這裏有一個從http://rosettacode.org/wiki/Merge_sort#Java的工作實現,鏈接到英文維基百科關於合併排序的文章。
import java.util.LinkedList;
public class Merge<E extends Comparable<? super E>> {
public LinkedList<E> mergeSort(LinkedList<E> m){
if(m.size() <= 1) return m;
int middle= m.size()/2;
LinkedList<E> left= new LinkedList<E>();
for(int i= 0;i < middle;i++) left.add(m.get(i));
LinkedList<E> right= new LinkedList<E>();
for(int i= middle;i < m.size();i++) right.add(m.get(i));
right= mergeSort(right);
left= mergeSort(left);
LinkedList<E> result= merge(left, right);
return result;
}
public LinkedList<E> merge(LinkedList<E> left, LinkedList<E> right){
LinkedList<E> result= new LinkedList<E>();
while(!left.isEmpty() && !right.isEmpty()){
//change the direction of this comparison to change the direction of the sort
if(left.peek().compareTo(right.peek()) <= 0) result.add(left.remove());
else result.add(right.remove());
}
result.addAll(left);
result.addAll(right);
return result;
}
}
0
您必須將其包裝在類定義中並在主方法中調用它。然後它會編譯和運行。
1
在調用System.arraycopy
時,使用posicao
時存在範圍錯誤。在mesclar
方法的開始處聲明該變量(而不是在底部的for循環內部)會使其編譯,但這並不一定意味着邏輯的好處。另外,for循環中嵌套的if語句不能用於像那樣的賦值。嵌套的三元運算符可以做到這一點,但祝其他人能夠理解它。相反,分配到vetor[inicio + posicao]
應該在每個if塊中重複。
相關問題
- 1. 有誰知道如何解決Worklight SQL適配器問題?
- 2. 有人知道如何解決這個錯誤?
- 3. 有誰知道任何精靈集合?
- 4. 有誰知道如何寫這個SQL如果語句更好?
- 5. 有沒有人真的知道如何解決這些錯誤?
- 6. 有誰知道他們是如何做這個UI鍵盤?
- 7. 有誰知道這2個插件是如何調用的?
- 8. 有誰知道如何擺脫這個日食錯誤窗口?
- 9. 有誰知道如何編寫這個正則表達式?
- 10. 任何人都知道如何解決這個錯誤突破?
- 11. 有誰知道Drupal 7的多面搜索解決方案嗎?
- 12. 合併排序解決任務
- 13. Unix排序合併解決方法
- 14. 誰知道這個sql注入?
- 15. 如何解決這種排序方法?
- 16. 不知道如何解決這個衝突
- 17. 絕對不知道如何解決這個空指針異常
- 18. 不知道如何解決這個關於FILTER_VALIDATE_EMAIL的問題
- 19. 如何解決這個問題?我不知道名稱
- 20. ExpressionEngine - 不知道如何解決這個404找不到錯誤
- 21. 我不知道如何解決這個空指針異常
- 22. 我不知道如何解決這個語法錯誤
- 23. 我不知道如何解決這個問題
- 24. 有誰知道如何在Android Studio中解決常春藤依賴問題?
- 25. 有誰知道如何解決boto.exception.SWFResponseError:SWFResponseError:400在AWS上的錯誤請求GovCloud
- 26. 你知道如何解析這個嗎?
- 27. 有誰知道如何在<select>
- 28. 如何知道誰擁有ReaderWriterLockSlim?
- 29. 有誰知道如何message.framework和mime.framework?
- 30. 有誰知道如何使用MPAndroidChart?
「不編譯」是不足的錯誤描述。此外,英文維基百科有兩個鏈接到工作的Java實現(事實上來自OpenJDK)。 – 2010-11-26 13:32:43
無論如何,我建議你使用內建的Arrays.sort(),除非這是作業。 ;) – 2010-11-26 13:39:10
哪些人請? aslwer as a answer:D – Seva 2010-11-26 13:41:05