案例:
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]);
}
从小到大排序
原理:
找到最小的数把它放在第一位,找到第二小的数把它放在第二位,以此类推直到最后一个数
实现代码
//从最小到最大挨个排列
for (int i = 0; i < arr.Length; i++)
{
//定义一个数用于保存索引i上对应最小的索引
int tempIndex = i;
//找索引i上应该放的值
for (int j = i+1; j < arr.Length ; j++)
{
if (arr[tempIndex]>arr[j])
{
tempIndex = j;
}
}
//把索引i上应该放的值放在索引i上
if (tempIndex != i)
{
ChangePosition(arr,tempIndex,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;
}