JAVA排序算法---希尔排序
2016-03-11 11:14
381 查看
package 备份类; public class 希尔直插排序 { public static void main(String[] args) { int[] a = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1, 10 }; print(a); shellSort(a); print(a); } public static void shellSort(int[] a) { int d = 3;// 增量 int gap = 1;// 间距 // 计算出最大的gap值 while (gap <= a.length / d) { gap = gap * d + 1; } // 组间的循环 while (gap > 0) { // 一组内的循环 for (int i = gap; i < a.length; i += gap) { if (a[i - gap] > a[i]) { int tmp = a[i]; int j = i - gap; while (j >= 0 && a[j] > tmp) {// 开始移动了 a[j + gap] = a[j]; j -= gap; } a[j + gap] = tmp; print(a); } } // 计算出下一个gap值,开始下一组排序,下一组gap减小 gap = (gap - 1) / d; } } public static void print(int[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + "\t"); } System.out.println(); } }
相关文章推荐
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- JAVA排序算法---希尔排序
- Java IO流学习
- struts2学习之运行流程及源码第一篇
- spring mvc 拦截器
- Java计算程序运行时间
- spring mvc 全局异常处理
- 接口
- Java compiler level does not match the version of the installed Java project fac
- java-json 数据前台显示为问号解决
- JAVA中关于链表的操作和基本算法
- Java下利用Jackson进行JSON解析和序列化1
- Java下利用Jackson进行JSON解析和序列化
- JAVA构造函数的总结
- 【SSH (六)】struts2 整合 spring 并 连接数据库