希尔排序
Posted bsc2012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了希尔排序相关的知识,希望对你有一定的参考价值。
插入排序的升级,先设比较大的步长进行插入排序,然后步长逐步减少,最后保证步长为1的一次插入排序即可
package com.bsc.algorithm.sort.shell; import com.bsc.algorithm.sort.insert.InsertSort; /** * 希尔排序 * * @author bsc * */ public class ShellSort<T extends Comparable<T>> extends InsertSort<T> { protected void sort(T[] data, int cr) { int length = data.length; //初始步长为数组长度的一半 int increment = length / 2; while (increment > 0) { //进行插入排序 sort(data, cr, increment); //步长每次减少一半(保证最后一次排序步长为1) increment = increment / 2; } } }
以上是关于希尔排序的主要内容,如果未能解决你的问题,请参考以下文章