算法 排序算法之希尔排序
来源:互联网 发布:淘宝隐形眼镜有假的吗 编辑:程序博客网 时间:2024/05/13 06:33
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<array.length;i++){System.out.print(array[i]); } } public static void shellSort(int[] array){ if(array == null || array.length == 0){ return; } //默认为数组长度,当increment为1时,终止循环 int increment = array.length; //相隔增量increment的组成一个序列 do{ //每循环一次increment要改变 increment = increment/3 + 1; for (int i = increment; i < array.length; i++) {if(array[i] < array[i - increment]){//待插入元素array[i]int insertVal = array[i];int j;//将大于insertVal的元素右移for (j = i - increment; j >= 0 && array[j] > insertVal ; j -= increment) {array[j + increment] = array[j];} //此时j位于恰好小于insertVal的元素位置,因此待插入位置为j + increment//插入元素insertValarray[j + increment] = insertVal;}} } while(increment > 1); }}
0 0
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- C#加密字符串
- APUE——Chapter 10:信号
- 225中国跳棋(2)227(3)
- getSupportFragmentManager().getBackStackEntryCount()作用
- weblogic启动报错
- 算法 排序算法之希尔排序
- Nodejs源码解析之module
- CSS颜色代码大全
- 相对路径与绝对路径 ${pageContext.request.contextPath}
- laravel php 微信扫码登录
- iOS WKwebview自动实现缩放网页适应屏幕和侧滑返回上个页面
- 字典模型中有id怎么解决
- 销毁activity时注意关闭线程
- 欢迎使用CSDN-markdown编辑器