希爾排序
相關代碼
class Sort6{
/**希爾排序
* 將元素不斷除2分組,到分組數爲1時,
* 對組內元素使用插入排序
* **/
public void shellSort(int number[]){
if (number.length <= 1 || number == null)
return;
else {
int temp=number.length/2;
while (temp>0){
sort(number,temp);
temp=temp/2;
}
}
}
public void sort(int number[],int temp){
for(int i=temp;i<number.length;i++){
int x=number[i];
int j=i-temp;
while (j>=0&&number[j]>x){
number[j+temp]=number[j];
j-=temp;
}
number[j+temp]=x;
}
}
}