{
int[]a={49,38,65,97,76,13,27,49,78,34,12,64,1 };
System.out.println("排序前:");
for(int I = 0;我& lta .長度;i++)
{
system . out . print(a[I]+" ");
}
//希爾排序
int d = a.length
while(真)
{
d = d/2;
for(int x = 0;x & ltd;x++)
{
for(int I = x+d;我& lta .長度;i=i+d)
{
int temp = a[I];
int j;
for(j = I-d;j & gt= 0 & amp& ampa[j]& gt;溫度;j=j-d)
{
a[j+d]= a[j];
}
a[j+d]= temp;
}
}
如果(d==1)
{
打破;
}
}
system . out . println();
System.out.println("排序後:");
for(int I = 0;我& lta .長度;i++)
{
system . out . print(a[I]+" ");
}
}