c#代码实现,使用选择排序法实现一维数组元素排序 被排序前数组:21 25 49 37 16 8 要求:输出每轮排序后的数组 排序前:21 25 49 37 16 8 第1次排序后:8 25 49 37 16 21
时间: 2024-10-10 22:17:32 浏览: 40
在C#中,你可以使用选择排序算法来实现对一维整数数组的排序。这里是一个简单的步骤描述以及伪代码,用于实现这个过程:
首先,我们需要定义一个函数`SelectionSort`,它接受一个整数数组作为输入,并在每次迭代中找到剩余部分中的最小值,将其放到已排序的部分末尾。
```csharp
public static void SelectionSort(int[] arr)
{
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;
}
// 将找到的最小值与当前位置交换
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
// 输出当前排序状态
Console.WriteLine("第" + (i + 1) + "次排序后:");
PrintArray(arr);
}
}
private static void PrintArray(int[] arr)
{
foreach (int num in arr)
Console.Write(num + " ");
Console.WriteLine();
}
```
现在我们可以用给定的初始数组 `21, 25, 49, 37, 16, 8` 进行排序并输出结果:
```csharp
// 定义数组
int[] unsortedArray = { 21, 25, 49, 37, 16, 8 };
SelectionSort(unsortedArray);
```
这将按顺序打印出每次排序后的数组。注意,由于这是一个简化的示例,实际运行时并不需要单独处理输出部分,因为`SelectionSort`函数本身包含了输出的过程。
阅读全文