code: public static void shellSort(int[] arrays) {
          int h = 1;
          while (h <= arrays.length / ValueConsts.THREE_INT) {
              h = h * 3 + 1;
          }
          while (h > 0) {
              for (int i = h; i < arrays.length; i += h) {
                  if (arrays[i] < arrays[i - h]) {
                      int tmp = arrays[i];
                      int j = i - h;
                      while (j >= 0 && arrays[j] > tmp) {
                          arrays[j + h] = arrays[j];
                          j -= h;
                      }
                      arrays[j + h] = tmp;
                  }
              }
              h = (h - 1) / 3;
          }
      }
docs: 希尔排序
  
  @param arrays 数组