Java八大排序算法之希尔排序
2017-08-19 20:31
253 查看
插入排序之希尔排序,直接贴一个简单的demo。
package com.ysk.charu; public class xierpaixu { public void shellsort() { int a[] = { 49, 38, 65, 97, 76, 2, 1, 5, 3, 9 }; double d1 = a.length; int temp = 0; while (true) { d1 = Math.ceil(d1 / 10); int d = (int) d1; for (int x = 0; x < d; x++) { System.out.println("============"); for (int i = x + d; i < a.length; i += d) { System.out.println("i:" + i + " " + "d:" + d); int j = i - d; temp = a[i]; System.out.println("temp: " + temp + " a[" + i + "] " + a[i]); for (; j >= 0 && temp < a[j]; j -= d) { System.out.println("a[" + j + " + " + d + "]+" + "的值换为" + "a[" + j + "]"); a[j + d] = a[j]; } a[j + d] = temp; } } if (d == 1) { break; } } for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } } }
相关文章推荐
- java八大排序算法(二)之希尔排序
- Java 语言实现的八大排序算法
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- Java实现八大排序算法
- Java排序算法4:希尔排序
- Java排序算法(八):希尔排序(Shell排序)
- 排序算法java 一 --快速排序、直接插入、希尔排序
- 初级排序算法之冒泡、选择、插入、希尔排序(附Java实现和分析)
- 排序算法总结(一)---- 直接插入排序,希尔排序(java实现)
- 排序算法之希尔排序--Java语言
- 一步一步解析java排序算法--希尔排序
- Java-时间复杂度为O(nlogn)的排序算法(快速排序, 归并排序, 堆排序, 希尔排序)
- 八大排序算法 Java、Python、C++实现 -- 冒泡排序
- Java排序算法(七):希尔排序(Shell排序)
- 排序算法之希尔排序(java实现)
- [置顶] 排序算法之希尔排序 java实现
- Java提高 - 八大排序方法之希尔排序
- Java实现排序算法——希尔排序
- 【Java常用排序算法】插入排序(直接插入排序、希尔排序)
- Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等