希尔排序

希尔排序

/*	希尔排序:有数组arrary,取length/2为间隔(每轮迭代间隔折半),
 * 			  将array逻辑上划分为若干个子数组,对子数组进行插入排序 
 * */
public class ShellSort {
	public static void main(String[] args) {
		int[] array = {20,10,8,5,15,13,40,18};
		ShellSort sort = new ShellSort();
		sort.shellSortSolution(array);
		for (int i : array) {
			System.out.print(i+" ");
		}
	}
	public void shellSortSolution(int[] array) {
		//第一层循环控制间隔
		for(int step=array.length/2;step>0;step=step/2) {
			//第二层循环控制同一间隔内各子数组的排序
			for(int i=step;i=0&&array[j]

 

你可能感兴趣的:(LeetCode,插入排序,排序算法,数据结构,算法)