首页 > 编程 > C# > 正文

用C#实现希尔排序

2023-05-16 12:36:06
字体:
来源:转载
供稿:网友

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表