C#实现插入排序算法
以下是使用C#实现插入排序算法的示例代码:
using System;
class InsertionSort
{
static void Main(string[] args)
{
int[] arr = { 64, 25, 12, 22, 11 };
Console.WriteLine("排序前:");
PrintArray(arr);
InsertionSortAlgorithm(arr);
Console.WriteLine("\n排序后:");
PrintArray(arr);
}
static void InsertionSortAlgorithm(int[] arr)
{
int n = arr.Length;
for (int i = 1; i < n; i++)
{
int key = arr[i];
int j = i - 1;
// 将比key大的元素向右移动一位
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
static void PrintArray(int[] arr)
{
foreach (int num in arr)
{
Console.Write(num + " ");
}
Console.WriteLine();
}
}
这段代码定义了一个名为 InsertionSort
的类,其中包含了一个静态方法 InsertionSortAlgorithm
用于实现插入排序算法。在主程序中,我们创建一个整数数组,然后调用 InsertionSortAlgorithm
方法对其进行排序,并打印排序前后的数组。