希尔排序(分组的插入排序)
import java.util.Arrays;
public class Main {
public static void main(String []args)
{
int []a={3,1,6,0,-8,6,3,5,9,4};
XiEr(a);
System.out.println(Arrays.toString(a));
}
public static void XiEr(int []a)
{
for(int gap=a.length/2;gap>=1;gap/=2)
{
for(int low=gap;low<a.length;low++)//按照间距
{
int t=a[low];
int i=low-gap;
while(i>=0&&t<a[i])
{
a[i+gap]=a[i];
i-=gap;
}
if(i+gap!=low)
{
a[i+gap]=t;
}
}
}
}
}
public class Main {
public static void main(String []args)
{
int []a={3,1,6,0,-8,6,3,5,9,4};
XiEr(a);
System.out.println(Arrays.toString(a));
}
public static void XiEr(int []a)
{
for(int gap=a.length/2;gap>=1;gap/=2)
{
for(int low=gap;low<a.length;low++)//按照间距
{
int t=a[low];
int i=low-gap;
while(i>=0&&t<a[i])
{
a[i+gap]=a[i];
i-=gap;
}
if(i+gap!=low)
{
a[i+gap]=t;
}
}
}
}
}
本文来自博客园,作者:赵千万,转载请注明原文链接:https://www.cnblogs.com/zhaoqianwan/p/17893338.html
千万千万赵千万