配色: 字号:
Shell排序
2012-09-11 | 阅:  转:  |  分享 
  
usingSystem;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

//使用希尔对一维数组进行排序

namespaceShellSortEg

{

classProgram

{

publicstaticvoidSort(int[]arr)

{

intinc;

for(inc=1;inc<=arr.Length/9;inc=3inc+1);

for(;inc>0;inc/=3)

{

for(inti=inc+1;i<=arr.Length;i+=inc)

{

intt=arr[i-1];

intj=i;

while((j>inc)&&(arr[j-inc-1]>t))

{

arr[j-1]=arr[j-inc-1];//交换数据

j-=inc;

}

arr[j-1]=t;

}

}

}

staticvoidMain(string[]args)

{

int[]array=newint[5]{1,0,8,3,6};

Randoms=newRandom();

Console.WriteLine("初始值:");

foreach(intminarray)

Console.Write(m+"");

Console.WriteLine();

Program.Sort(array);

Console.WriteLine("排序后:");

foreach(intminarray)

Console.Write(m+"");

Console.WriteLine();

}

}

}



献花(0)
+1
(本文系Honey_Dog首藏)