shell排序 java实现

package com.algorithm.charactor1;

import java.util.Arrays;

/**
 * 希尔排序和 插入排序 基本差不多,间隔 交换
 */
public class ShellSort {

	public static void main(String[] args) throws InterruptedException {
		
		Integer [] arr = {3,5,2,1,5,6,4};
		
		
		int j = 0;
		//第一层循环  计算需要 排序的小数组
		for (int inteval = arr.length/2; inteval>0; inteval/=2) {
			
			//第二层循环 比较  当前小组累加间隔
			for (int i = inteval; i < arr.length ; i++) {
				Integer temp =  arr[i]; 
				//第三层循环,进行插入操作
				for ( j = i; j >=inteval && temp.compareTo(arr[j-inteval]) <0; j -=inteval) {
						arr[j] = arr[j-inteval];
				}
				arr[j] = temp;
			}
		}
		System.out.println(Arrays.toString(arr));
	}
	
}

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页