可以解决问题:
有一组长度为10取值范围为0到10的随机数
Random random = new Random();
int[] arr = new int[10];
for (int i = 0; i < arr.Length; i++)
{
arr[i] = random.Next(0,11);
Console.WriteLine("获得随机数" + arr[i]);
}
从小到大排序
方法:
把数组arr中所有的数都与他们后面的数进行比较,如果后面的数较小则让他们两个交换位置。
实现代码:
for (int i = 0; i < arr.Length; i++)
{
for (int j = 0 ; j < arr.Length-i-1; j++)
{
if (arr[j] > arr[j+1])
{
ChangePosition(arr, j, j + 1);
}
}
}
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine("排序后的数为" + arr[i]);
}
/// <summary>
/// 转换数组中两个索引对应的值
/// </summary>
/// <param name="arr">数组</param>
/// <param name="indexI">索引i</param>
/// <param name="indexJ">索引j</param>
static void ChangePosition(int[] arr, int indexI, int indexJ)
{
int tempValue = arr[indexI];
arr[indexI] = arr[indexJ];
arr[indexJ] = tempValue;
}