首页 > 系统服务 > 详细

ShellSort

时间:2017-12-16 13:45:26      阅读:143      评论:0      收藏:0      [点我收藏+]
public class ShellSort {
public static void main(String[] args) {
    int A[] = { 5, 2, 9, 4, 7, 6, 1, 3, 8 };// 从小到大希尔排序
    sort(A,A.length);
    for (int i = 0; i < A.length; i++)
    {
        System.out.printf("%d ", A[i]);
    }
}
public static void sort(int A[], int n){
    int h = 0;
    while (h <= n)                          // 生成初始增量
    {
        h = 3 * h + 1;
    }
    while (h >= 1)
    {
        for (int i = h; i < n; i++)
        {
            int j = i - h;
            int get = A[i];
            while (j >= 0 && A[j] > get)
            {
                A[j + h] = A[j];
                j = j - h;
            }
            A[j + h] = get;
        }
        h = (h - 1) / 3;                    // 递减增量
    }
}
}

 

ShellSort

原文:http://www.cnblogs.com/tonggc1668/p/8046261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!