从最小到最大排序数组

时间:2016-01-20 13:16:17

标签: c# arrays sorting random

我有一个包含随机元素的数组。数组中有10个元素。

如何在第二个数组中从最小到最大订购这些数字

第二个数组中的数组(43,2,23,45 ......)必须是(2,23,43,45 ......)

代码c#

int[] mass = new int[10];
int[] mass2 = new int[10]; 

void shemtxvevitimasivi()
{
    label1.Text = "";
    Random r = new Random();
    for (int i=0; i<mass.Length; i++)
    {
        mass[i] = r.Next(0, 100); 
    }
    for (int k=0; k<mass.Length; k++)
    {
        label1.Text+=mass[k].ToString()+" | ";
    }
}

void minim()
{
    for (int t = 0; t < mass.Length; t++)
    {
        label2.Text = mass.Min().ToString() + " | ";
    } 
}

private void button1_Click(object sender, EventArgs e)
{
    minim();
}

private void Form1_Load(object sender, EventArgs e)
{
    shemtxvevitimasivi();
}

5 个答案:

答案 0 :(得分:4)

您可以使用.Sort

int[] mass2 = { 4, 7, 2, 0 };
Array.Sort(mass2);

foreach (int value in values)
{
    Console.Write(value);
    Console.Write(' '); 
}

// outputs 0 2 4 7

答案 1 :(得分:3)

使用Linq的OrderBy - statament:

var myArr = mass.OrderBy(x => x).ToArray();

答案 2 :(得分:3)

您可以通过 Linq 创建第二个数组作为第一个数组的(已排序)副本

  int[] mass = new int[10];
  ...

  int[] mass2 = mass
    .OrderBy(x => x)
    .ToArray();

答案 3 :(得分:2)

你可以自己实现一些排序算法,或者只是使用:

Array.Sort(yourArray);

答案 4 :(得分:2)

int[] values = { 43, 2, 23, 45 };
int[] ordered = values.OrderBy(x => x).ToArray();

您可以使用OrderBy按升序排列元素。如果您想以相反的方式执行此操作(按降序排序),则可以使用OrderByDescending