用c#实现使用选择排序法实现一维数组元素排序 被排序前数组:21 25 49 37 16 8 要求:输出每轮排序后的数组 排序前:21 25 49 37 16 8 第1次排序后:8 25 49 37 16 21 ……
时间: 2024-09-26 17:18:53 浏览: 58
在 C# 中,我们可以使用选择排序算法来对一维整数数组进行排序。选择排序的基本思想是每次从未排序的部分找出最小(或最大)的元素,放到已排序部分的末尾。以下是使用 C# 实现的选择排序示例,按照您的要求逐步输出每轮排序后的数组:
```csharp
using System;
class Program
{
static void Main()
{
int[] array = { 21, 25, 49, 37, 16, 8 };
Console.WriteLine("排序前:");
PrintArray(array);
// 选择排序过程
for (int i = 0; i < array.Length - 1; i++)
{
// 找到未排序部分的最小值
int minIndex = i;
for (int j = i + 1; j < array.Length; j++)
{
if (array[j] < array[minIndex])
minIndex = j;
}
// 将找到的最小值与当前位置交换
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
Console.WriteLine($"第{i + 1}次排序后:");
PrintArray(array);
}
}
// 输出数组的方法
static void PrintArray(int[] arr)
{
foreach (var item in arr)
Console.Write(item + " ");
Console.WriteLine();
}
}
```
运行此程序会按顺序输出每次排序后的数组。注意,选择排序不是最优的排序算法,但对于小规模数据来说,其效果是可以接受的。
阅读全文