美文网首页
希尔排序

希尔排序

作者: 潦倒神仙 | 来源:发表于2019-10-21 17:28 被阅读0次
    public class ShellSort {
        public static void sort(int[] arr) {
            int j;
            int step;
            int len = arr.length;
    
            for (step = len / 2; step > 0; step /= 2) {
    
                for (int i = 0; i < step; i++) {
    
                    for (j = i + step; j < len; j += step) {
                        if (arr[j] < arr[j - step]) {
                            int temp = arr[j];
                            int k = j - step;
    
                            while (k >= 0 && arr[k] > temp) {
                                arr[k + step] = arr[k];
                                k -= step;
                            }
    
                            arr[k + step] = temp;
                        }
                    }
                }
            }
    
        }
    
        public static void main(String[] args) {
            int[] arr = new int[] { 23, 98, 45, 2, 24, 64, 12, 1 };
            sort(arr);
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i]);
                System.out.print(" ");
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:希尔排序

          本文链接:https://www.haomeiwen.com/subject/eovrcftx.html