2009-11-28 57 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

相关问题