[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/iDev-git/Java/master/Sorts/GnomeSort.java [Back]  [Original]

package Sorts;

import static Sorts.SortUtils.*;

/**
 * Implementation of gnome sort
 *
 * @author Podshivalov Nikita (https://github.com/nikitap492)
 * @since 2018-04-10
 */
public class GnomeSort implements SortAlgorithm {

  @Override
  public  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);
  }
}

Web Proxy Viewer  |  New URL  |  Original Page