八種排序演算法Java實現-希爾排序
阿新 • • 發佈:2018-12-23
/*********希爾排序先從0定義再到gap*********************/
public static int[] shell2(int []num,int len){
int j=0; for(int gap=len/2;gap>0;gap/=2){ for(int i=0;i<len-gap;i++){ j=i; while((j>=0)&&(num[j]>num[j+gap])){ num[j]=num[j+gap]+num[j]; num[j+gap]=num[j]-num[j+gap]; num[j]=num[j]-num[j+gap]; j=j-gap; } System.out.print(1+","); } } return num; } /*******************希爾排序先從gap定義再到0*********************/ public static int[] shell(int []num,int len){ for(int gap=len/2;gap>0;gap/=2){ for(int i=gap;i<len;i++){ for(int j=i-gap;(j>=0)&&(num[j]>num[j+gap]);j-=gap){ num[j]=num[j+gap]+num[j]; num[j+gap]=num[j]-num[j+gap]; num[j]=num[j]-num[j+gap]; } System.out.print(1+","); } } return num; }