希尔排序以直接插入排序为基础,对以增量序列做标记的分组进行插入排序。增量序列从长度/2开始到1(典型的增量序列)。代码如下:
private static void shellSort(int[] arr) {
int j;
int len = arr.length;
for(int val=len>>1; val>0; val>>=1) {
for(int i=val; i<len; i++) {
int temp = arr[i];
for(j=i; j>=val&&temp<arr[j-val]; j-=val) {
arr[j] = arr[j-val];
}
arr[j] = temp;
}
}
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。