ShellSort.java 582 字节
Newer Older
ultra_zeta's avatar
ultra_zeta 已提交
1 2 3
package com.yzh;

public class ShellSort {
4
    public int[] solution(int arr[]) {
ultra_zeta's avatar
ultra_zeta 已提交
5 6 7 8 9 10 11 12 13 14 15 16 17 18
        int len = arr.length;
        int temp, gap = len / 2;
        while (gap > 0) {
            for (int i = gap; i < len; i++) {
                temp = arr[i];
                int preIndex = i - gap;
                while (preIndex >= 0 && arr[preIndex] > temp) {
                    arr[preIndex + gap] = arr[preIndex];
                    preIndex -= gap;
                }
                arr[preIndex + gap] = temp;
            }
            gap /= 2;
        }
ultra_zeta's avatar
ultra_zeta 已提交
19 20 21
        return arr;
    }
}