插入排序
using System;
/// <summary>
/// 插入排序 的摘要说明。
/// </summary>
public class InsertSort
{
public static void Main()
{
//int[] intary=
{35,58,47,96,12,45,78};
int[] intary={10,8,7,6,5,4,3,2,1,1};
Console.WriteLine("排序前,输出数组如
下:");
printArray(intary);
insertSort(intary);
Console.WriteLine("插入排序之后,输出
数组如下:");
printArray(intary);
}
private static void printArray(int[] tmpary)
{
foreach(int tmpnum in tmpary)
{
Console.Write(tmpnum+"\t");
}
Console.WriteLine();
}
private static void insertSort(int[] ary)
{
int tmp;
for(int i=1;i<ary.Length;i++)//从第2
个元素开始,准备待插入前方位置
{
for(int j=0;j<=i;j++)//在待插
元素前方寻找比它大的元素
{
if(ary[i]<ary[j])//找
到比它大的元素
{
tmp=ary[i];//
将待插元素保存下来
for(int
k=i;k>j;k--)//从待插位置向前移动
{
ary
[k]=ary[k-1];//将前面元素一个个向后移动
}
ary[j]=tmp;//
在找到的位置插入待插元素
}
}
}
}
}