排序数组

最后发布: 2011-03-08 19:46:48


问题

有人可以告诉我如何按降序对整数数组的元素排序吗? 可能吗?

谢谢

c# .net
回答

要对其进行原位排序,可以使用接受比较委托的重载:

Array.Sort(arr, (x,y)=>y.Compare(x));


回答

使用Array.Sort

Array.Sort(myArray, (a, b) => b.Compare(a));


回答

myIntArray = myIntArray.OrderBy(i => -1 * i).ToArray();

要么

myIntArray = myIntArray.OrderByDescending(i => i).ToArray();

要么

Array.Sort(myIntArray, (x,y) => x.Compare(y) * -1);


回答

使用Sort()然后使用Reverse()


回答

如果您有一个班级分配并且您的教授不希望您使用Array.Sort这可能会有所帮助。

private void button1_Click(object sender, EventArgs e)
{
    int[] numbers = { 7, 4, 2, 6, 1, 10, 5, 8, 9, 3 };
    SortArray(numbers);
    foreach (int n in numbers)
    {
        textBox1.Text = textBox1.Text + n.ToString() + ' ';
    }
}

public static void SortArray(int[] num)
{
    int temp;
    int count = 0;

    while (count < num.Length - 1)
    {
        int min = num[count];

        for (int x = count; x < num.Length; x++)
        {
            if (min > num[x])
            {
                temp = num[count];
                min = num[x];
                num[count] = num[x];
                num[x] = temp;

            }

        }

        count++;
    }
}   


回答

Array.Sort(arr, (num1,num2) => num1.Compare(num2));


回答

请尝试以下操作:

Array.Sort(array, (x, y) => y.Compare(x));