希尔(Shell)排序 Java实现
来源:互联网 发布:js中set的用法 编辑:程序博客网 时间:2024/05/22 09:51
希尔排序
是插入排序的一种变体,把相邻元素的比较变为相隔一段距离的比较。
复杂度为亚二次时间,最坏为O(n^2).
public class ShellSort {public static void shellSort(int[] arr) {//外循环增量变化,直到1(相邻)停止 for( int gap = arr.length / 2; gap > 0; gap /= 2 ){ //内循环就是插入排序,但是把插入排序的增量1变成了增量gap for( int i = gap; i < arr.length; i++ ){ int value = arr[i]; int j = i; while(j >= gap && arr[j - gap] > value){ arr[j] = arr[j - gap]; j = j - gap; } arr[j] = value; } }}public static void main(String[] args) {int[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };shellSort(c);for (int i = 0; i < c.length; i++) {System.out.println(c[i]);}}}
- 希尔(Shell)排序 Java实现
- Shell(希尔)排序(java实现)
- Java实现希尔(Shell)排序
- 希尔(shell)排序原理分析及Java实现
- 希尔排序算法(Shell Sort) Java实现
- 希尔排序(java实现)
- 希尔排序(Java实现)
- 希尔排序实现(Java)
- 希尔排序(java实现)
- 希尔排序(JAVA实现)
- 希尔排序(java实现)
- Java 详解希尔(Shell)排序
- Java 详解希尔(Shell)排序
- Java 详解希尔(Shell)排序
- Java 希尔排序(Shell Sort)
- JAVA排序算法实现代码-希尔Shell排序
- 希尔(Shell)排序
- 希尔(shell)排序
- MVC4.0 JSON JsonResult 序列化之后 对JSON 进行修改 EXTJS4.0 分页
- OCP-1Z0-053-V12.02-510题
- MinGW 环境变量的配置
- c\c++复习基础要点15----c++运行时类型识别 dynamic_cast typeid type_info
- java编程优化 1
- 希尔(Shell)排序 Java实现
- java项目开发经验总结,值得收藏!绝对有用!
- Android SQLite OrderBy的使用
- 安卓的平板电脑,请问有没有类似Ghost的备份还原软件?(for 安卓)
- NDK 安卓* 应用移植方法
- iOS 之自定义TableBar
- Java中的pack()
- 10天学会aspnet
- javascript源代码(实例60)