数据结构_排序_02
2014-03-27 18:13
183 查看
希尔排序
/** * 希尔排序 * <p>1、间隔序列是关键</p> * <p>2、要求最终间隔为1(普通排入排序)</p> */ public void shellSort() { int[] arr = new int[]{3, 5, 9, 6, 7, 2, 4, 8, 0, 1}; System.out.println("Begin=>" + Arrays.toString(arr)); int inner, outer; int temp; int h = 1; //间隔序列 while (h <= arr.length / 3) { h = h * 3 + 1; } while (h > 0) { for (outer = h; outer < arr.length; outer ++) { temp = arr[outer]; inner = outer; while (inner > h -1 && arr[inner - h] >= temp) { arr[inner] = arr[inner - h]; inner -= h; System.out.println(Arrays.toString(arr)); } arr[inner] = temp; } //倒推减少间隔 h = (h - 1) / 3; } System.out.println("End=>" + Arrays.toString(arr)); }
相关文章推荐
- python数据结构学习笔记-2016-10-23-02-排序
- python数据结构学习笔记-2016-10-24-02-使用排序列表实现集合ADT
- 数据结构 - 快速排序
- 数据结构与算法:C++实现快速排序
- 数据结构知识整理-快速排序
- 快速排序的C语言实现【严蔚敏--数据结构】
- 算法与数据结构学习 02 循环和递归
- Java 数据结构----冒泡排序 选择排序
- 数据结构(JAVA)---二叉树的简单实现及排序
- 数据结构&算法实践—【排序|交换排序】鸡尾酒排序
- 数据结构(排序)
- 数据结构(25)--排序篇之选择排序
- scala数据结构和算法-02-用模式匹配实现合并排序
- 大顶堆排序C实现--【严蔚敏数据结构实现】
- 数据结构第十三周项目2--二叉树排序树中查找的路径
- 黑马程序员之数据结构学习笔记:快速排序
- 02.手把手教你 .Net EasyUI DataGrid(数据表格排序)
- 数据结构和算法-003 数组排序 选择排序
- 数据结构和算法-004 数组排序 插入排序
- 数据结构-排序