当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

用C#实现希尔排序

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:48:41

:2010-01-31 10:57:00

导读:本文介绍了使用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();
                 }
         }
}


用C#实现希尔排序