c#中 使用选择排序法实现一维数组元素排序 被排序前数组:21 25 49 37 16 8 要求:输出每轮排序后的数组 排序前:21 25 49 37 16 8 第1次排序后:8 25 49 37 16 21 ……
时间: 2024-09-26 12:17:46 浏览: 4
在 C# 中,我们可以使用选择排序算法对一维整数数组进行排序。选择排序的基本思想是每一次从未排序的部分中找到最小(或最大)的元素,然后将其放到已排序部分的末尾。以下是使用选择排序实现这一过程的步骤:
```csharp
using System;
class Program
{
static void Main()
{
int[] arr = { 21, 25, 49, 37, 16, 8 }; // 要排序的数组
int temp;
for (int i = 0; i < arr.Length - 1; i++)
{
// 找到剩余部分中的最小值
int minIndex = i;
for (int j = i + 1; j < arr.Length; j++)
{
if (arr[j] < arr[minIndex])
{
minIndex = j;
}
}
// 将找到的最小值与当前位置交换
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
Console.WriteLine("第" + (i + 1) + "次排序后:");
PrintArray(arr);
}
}
static void PrintArray(int[] array)
{
foreach (int num in array)
{
Console.Write(num + " ");
}
Console.WriteLine();
}
}
```
运行这个程序,会依次输出每次排序后的数组:
- 第1次排序后: 8 25 49 37 16 21
- 第2次排序后: 8 16 49 37 25 21
- 第3次排序后: 8 16 25 37 49 21
- 第4次排序后: 8 16 25 37 21 49
- 第5次排序后: 8 16 21 25 37 49
这就是选择排序在 C# 中实现的一维数组排序过程。注意,选择排序的时间复杂度是O(n^2),并不是最高效的排序算法,但对于小规模数据或教学演示非常合适。