您的位置:首页 > 编程语言 > C#

C#排序算法 之 希尔排序

2007-06-25 13:35 162 查看
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();    

            }   

        }   

    }    

}  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: