-
希尔排序:插入排序的升级,有一个increment(元素增量),适用于乱序数组的插入排序
- increment变化:每次increment = increment/3
- 优点:代码量小,不需要额外的内存空间
- 不稳定排序(不会保留原先相等数据的顺序)
// 希尔排序
public static void ShellSort(int[] a) {
int len = a.length;
int increment = len/3+1; // 每次排序增量
while(increment >= 1) {
for(int i = increment; i<len; i++) {
for(int j = i; j >= increment && a[j-increment] > a[j]; j-=increment) {
int temp = a[j];
a[j] = a[j-increment];
a[j-increment] = temp;
}
}
increment = increment/3;
}
}
学习连接:https://blog.csdn.net/weixin_37818081/article/details/79202115
网友评论