package org.lion.euler.study.sort; /** * 希尔排序 * <pre> * 原理:跨间隔元素的插入排序,从一开始数组长度的1/2,直到间隔为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; } } }
排序-JAVA实现【九】希尔排序
猜你喜欢
转载自blog.csdn.net/jiangxuexuanshuang/article/details/80229386
今日推荐
周排行