我有一个包含随机元素的数组。数组中有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();
}
答案 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
。