2017-06-12 67 views
-3

假設我有一個數組並找到最小值我使用Arrays.sort()函數,但是如果我想按照原始順序獲取數組,應該使用哪個函數?將數組重新排列到原始狀態

+2

在調用排序之前複製數組 – Eran

+1

您不能使用該函數。訂單更改後,您無法恢復。在排序數組之前創建數組的副本,並只對這兩個副本中的一個進行排序。 – f1sh

+5

您可以在不對其排序的情況下查找數組的最小值。找到最小值是O(n),比排序好得多。 – khelwood

回答

0
int[] myList = {2,1,4,3,5}; 
int[] copyList = Arrays.copyOf(myList, 5); 
Arrays.sort(copyList); 

將當前列表複製到另一個列表。 爲您的結果排序複製的列表。 您的原始列表保持不變

1

保持數組不變並通過它查找最小值。這裏是一些僞代碼:

method findMin(theArray) 
    minVal <- theArray[0] 
    for (i in 1 to (theArray.size - 1)) 
    if (minVal > theArray[i]) 
     minVal <- theArray[i] 
    endif 
    endfor 
    return minVal 
endmethod 
相關問題