package org.lion.euler.study.sort; /** * Hill sort * <pre> * Principle: Insertion sort across interval elements, starting at 1/2 the length of the array until the interval is 1. * </pre> * @author lion * */ public class ShellSort extends AbstractSort { @Override public void sort(Integer[] array) { int inc = array.length / 2; while (inc > 0) { for (int i = 0, j = i; i < array.length - inc; i += 1, j = i) { int ai = array[i + inc]; while (j >= 0 && ai < array[j]) { array[j + inc] = array[j]; if (j - inc < 0) { j -= inc; break; } j -= inc; } array[j + inc] = ai; } inc /= 2; } } }
Sorting - JAVA implementation [9] Hill sorting
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=325980933&siteId=291194637
Ranking