C#算法 希尔排序

来源:互联网 发布:常州博儒网络 编辑:程序博客网 时间:2024/06/05 15:34
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[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47}; 
   ShellSorter sh=new ShellSorter(); 
   sh.Sort(iArrary); 
   for(int m=0;m<=13;m++) 
   Console.WriteLine("{0}",iArrary[m]); 
   } 
  } 
原创粉丝点击