算法 排序算法之希尔排序

package SortArith;
/**
 * 希尔排序 (插入排序升级版)
 * 相隔增量increment的组成一个序列 
 * increment增量的选取还是一个难题
 * 排序算法时间复杂度突破了(O2)
 * 不稳定排序
 * @author lwk
 *
 */
public class ShellSort {
	 public static void main(String[] args) {
		 int[] array={9,7,8,6,5,4,3,2,1};
		 shellSort(array);
		 for(int i=0;i= 0 && array[j] > insertVal  ; j -= increment) {
						array[j + increment] = array[j];
					}
				    //此时j位于恰好小于insertVal的元素位置,因此待插入位置为j + increment
					//插入元素insertVal
					array[j + increment] = insertVal;
				}
			}
    	 }
    	 while(increment > 1);
     }
}

你可能感兴趣的:(算法)