具体流程:1,将有n个元素的数组分成n/2个数字排列 ,第一个数据和n/2+1个数据是一对的
2,一次循环使每一个序列排好顺序
3,然后再变成n/4个序列,再次排序
4,不断重复上诉过程,随着序列减少变成最后一个
伪代码如下:
public static void shellSort(int a[]){
int i,j,h;
int r,temp;
int x = 0;
for(r=a.length/2;r>=1;r/=2){
for(i=r;i<a.length;i++){
temp=a[i];
j=i-r;
while(j>=0&&temp<a[j]){
a[j+r]=a[j];
j=j-r;
}
a[j+r]=temp;
}
x++;
System.out.println("d"+x+".....");
for(h=0;h<a.length;h++){
System.out.print(a[h]+",");
}
System.out.println();
}
}