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();
}
}
}
|
|