- using System;
- namespace suanfa
- {
- /// <summary>
- /// ShellSorter :希尔排序算法。
- /// 将组分段,进行插入排序
- /// </summary>
- public class ShellSorter
- {
- public 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 MainClassShell
- {
- public static void MainShell()
- {
- 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);
- Console.WriteLine("希尔算法排序:");
- for(int m=0;m<iArrary.Length;m++)
- Console.Write("{0} ",iArrary[m]);
- Console.WriteLine();
- Console.ReadLine();
- }
- }
- }
希尔排序算法
最新推荐文章于 2024-01-26 23:59:46 发布