2009-11-28 55 views

回答

2

可以使用ArraySort & Reverse做到這一點:

Array.Sort(array); 
Array.Reverse(array); 

例子:

[Test] 
public void Test() 
{ 
    var array = new[] { 1, 3, 2 }; 
    Array.Sort(array); 
    Array.Reverse(array); 

    CollectionAssert.AreEquivalent(new[] { 3, 2, 1 }, array); 
} 
+0

http://msdn.microsoft.com/找到東西en-us/library/system.array.sort%28VS.71%29.aspx and http://msdn.microsoft.com/en-us/library/system.array.reverse%28VS.71%29.aspx – 2009-11-28 09:03:13

10

你可以使用Array.Sort

int[] array = new[] { 1, 3, 2 }; 
Array.Sort(array, (x, y) => y.CompareTo(x)); 

至於複雜性而言:

平均來說,此方法是一個爲O​​(n日誌 n)的操作,其中n是 數組的長度;在最壞的情況下,它是一個爲O​​(n ^ 2)操作

3

你可以嘗試這樣的

int[] ints = new int[] {1, 2, 3, 4, 1, 2, 3}; 
var sorted = ints.OrderBy(i => i); 

Sort array of items using OrderBy<>

+0

從最大到最小: ints.OrderByDescending(i => i); – Elisha 2009-11-28 09:16:48

相關問題