导读:本文介绍了使用C#实现希尔排序的方法
using System;
namespace ShellSorter
{
public class ShellSorter
{
public void Sort(int [] list)
{
int inc;
for(inc=1; inc <= list.Length/9; inc=3 * inc + 1);
for(; inc>0; inc /= 3)
{
for(int i = inc + 1; i <= list.Length; i += inc)
{
int t = list[i-1];
int j = i;
while((j > inc) && (list[j - inc - 1] > t))
{
list[j - 1] = list[j - inc - 1];
j -= inc;
}
list[j - 1] = t;
}
}
}
}
public class MainClass
{
public static void Main()
{
int[] iArrary = new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
ShellSorter sh=new ShellSorter();
sh.Sort(iArrary);
for(int m = 0;m < iArrary.Length; m ++)
Console.Write("{0} ",iArrary[m]);
Console.WriteLine();
}
}
}
新闻热点
疑难解答