import java.util.Arrays;
/**
* 希尔排序
*/
public class Sort6{
public static void sort(int[] A){
int grap = A.length/2;
while(grap>0){
System.out.println("grap:"+grap+" ");
//i指向每组第一个元素
for(int i=0;i<grap;i++){
//对每组进行插入排序
//j指向每组第二个元素至末尾,假设第一个元素是有序的
for(int j=i+grap;j<=i+(A.length/grap-1)*grap;j=j+grap){
//对A[k]进行插入排序
for(int k=j;k>i;k=k-grap){
if(A[k]<A[k-grap]){
Swap.swap(A,k,k-grap);
}
}
}
}
System.out.println("Stage :"+Arrays.toString(A));
grap = grap/2;
}
}
}
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦