用C#编写一个程序,实现插入排序算法。
时间: 2024-12-25 19:29:07 浏览: 4
当然可以。在C#中,插入排序是一种简单的排序算法,它通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。下面是基本的插入排序实现:
```csharp
using System;
class InsertionSort
{
public void Sort(int[] arr)
{
for (int i = 1; i < arr.Length; i++)
{
int key = arr[i];
int j = i - 1;
// 将元素arr[j]向右移动,直到找到合适的位置
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j--;
}
// 插入元素key到正确位置
arr[j + 1] = key;
}
}
// 示例
static void Main()
{
int[] numbers = { 9, 7, 5, 11, 12, 2 };
InsertionSort ins = new InsertionSort();
ins.Sort(numbers);
Console.WriteLine("Sorted array:");
foreach (int num in numbers)
{
Console.Write(num + " ");
}
}
}
```
当你运行这个程序,它会打印出排序后的数组。
阅读全文