黑马程序员技术交流社区

标题: 学习基于C#数据结构的希尔排序 [打印本页]

作者: 许庭洲    时间: 2012-8-1 14:57
标题: 学习基于C#数据结构的希尔排序
思想:希尔排序是将组分段,进行插入排序。
using System;
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[] iArray=new int[]{1,5,3,6,10,55,2,87,12,34,75,33,54};
           ShellSorter sh=new ShellSorter();
           sh.Sort(iArrary);
           for(int m=0;m<=13;m++)
           Console.WriteLine("{0}",iArrary[m]);
     }
}














欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2