A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许庭洲 黑马帝   /  2012-8-1 14:57  /  1529 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

思想:希尔排序是将组分段,进行插入排序。
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]);
     }
}









评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马