public static void shellSort(int[] data){
int j = 0;
int temp = 0;
for (int i = data.length/2; i>0; i/=2) {
for (int k = i; k < data.length; k++) {
temp = data[k];
for (j = k-i; j>=0; j=j-i) {
if (temp < data[j]) {
data[j+i] = data[j];
}
else {
break;
}
}
data[j+i] = temp;
}
}
}
public static void main(String[] args) {
int[] data = new int[] { 26, 53, 67, 48, 57, 13, 48, 32, 60, 50 };
shellSort(data);
System.out.println(Arrays.toString(data));
}
结果