希尔排序
package com.athome.sorting;
import java.util.*;
public class Sort {
public static void main(String[] args){
int[] arr = {13,9,8,25,98,63,5,0};
System.out.println("before: "+Arrays.toString(arr));
int d = (arr.length)/2;
while(d > 0){
for(int i = d;i < arr.length;i++){ //全组排序
int tmp = arr[i];
int j = i - d;
while(j >= 0){ //单组排序
if(tmp > arr[j]){
arr[j + d] = arr[j];
arr[j] = tmp;
}
j = j - d;
}
}
d = d / 2;
}
System.out.println("after: "+Arrays.toString(arr));
}
}
运行结果