Shell排序算法的核心思想 —— 分组插入排序。改变步长,用每种步长把数据划分成相应的分组;然后对每个组内的数据进行排序。
过程如下:
Java代码:
package Sort;
/**
* ShellSort算法
* @author YHYR
*
*/
public class ShellSort {
public static void main(String[] args) {
int[] data = new int[] { 5, 2, 8, 9, 10};
System.out.println("未排序前");
for (int i = 0; i < data.length; i++){
System.out.print(data[i] + " ");
}
shellSort(data);
System.out.println("\n排序后");
for (int i = 0; i < data.length; i++)