Java 地精排序(Gnome Sort) Java Pancake煎饼排序 Java 圈排序 地精排序(Gnome Sort) package sort; import static sort.SortUtils.*; /** * Implementation of gnome sort * * * @since 2018-04-10 * **/ public class GnomeSort implements SortAlgorithm{ @Override public <T extends Comparable<T>> T[] sort(T[] arr) { int i = 1; int j = 2; while (i < arr.length){ if ( less(arr[i - 1], arr[i]) ) i = j++; else { swap(arr, i - 1, i); if (--i == 0){ i = j++; } } } return null; } public static void main(String[] args) { Integer[] integers = { 4, 23, 6, 78, 1, 26, 11, 23 , 0, -6, 3, 54, 231, 9, 12 }; String[] strings = {"c", "a", "e", "b","d", "dd","da","zz", "AA", "aa","aB","Hb", "Z"}; GnomeSort gnomeSort = new GnomeSort(); gnomeSort.sort(integers); gnomeSort.sort(strings); System.out.println("After sort : "); print(integers); print(strings); } } Java Pancake煎饼排序 Java 圈排序