java实现希尔排序算法

网友投稿 155 2023-08-03


java实现希尔排序算法

希尔排序算法的基本思想是:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d2

//带增量的插入排序

publiHvvCwCQdc static void shellSort(int[] array) {

int len = array.length;

int h = 1;

while (h < len)

HvvCwCQd h = h * 3 + 1;

while (h >= 1) {

for (int i = 1; i < len; i++) {

for (int j = i; j >= h; j = j - h) {

if (array[j] < array[j - h]) {

Sort.swap(array, j, j - h);//交换j和j-h

} else

break;

}

}

h = h / 3;

}

}

希尔排序示意图

以上所述就是本文的全部内容了,希望能够对大家熟练掌握java希尔排序有所帮助。

//带增量的插入排序

publiHvvCwCQdc static void shellSort(int[] array) {

int len = array.length;

int h = 1;

while (h < len)

HvvCwCQd h = h * 3 + 1;

while (h >= 1) {

for (int i = 1; i < len; i++) {

for (int j = i; j >= h; j = j - h) {

if (array[j] < array[j - h]) {

Sort.swap(array, j, j - h);//交换j和j-h

} else

break;

}

}

h = h / 3;

}

}

希尔排序示意图

以上所述就是本文的全部内容了,希望能够对大家熟练掌握java希尔排序有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java实现折半排序算法
下一篇:java实现选择排序算法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~