package com.yzh; public class ShellSort { public int[] solution(int arr[]) { 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; } return arr; } }