常用排序算法之希尔排序
来源:互联网 发布:多客户端访问数据库 编辑:程序博客网 时间:2024/05/16 13:52
常用排序算法之冒泡排序
常用排序算法之快速排序
常用排序算法之插入排序
常用排序算法之归并排序
常用排序算法之选择排序
常用排序算法之堆排序
希尔排序算法
/** * 希尔排序 * * @param array * @return */ public static int[] shellSort(int[] array) { double d1 = array.length; int temp = 0; while (true) { d1 = Math.ceil(d1 / 2); int d = (int) d1; for (int x = 0; x < d; x++) { for (int i = x + d; i < array.length; i += d) { int j = i - d; temp = array[i]; for (; j >= 0 && temp < array[j]; j -= d) { array[j + d] = array[j]; } array[j + d] = temp; } } if (d == 1) { break; } } return array; }
运行
/** * 待排序的数组 */ private static int[] array = { 12, 10, 5, 9, 5, 32, 16, 1, 9, 99, 80, 3, 18, 19, 20, 25, 7, 15 }; public static void main(String[] args) { int[] result = SortUtils.mergingSort(array.clone()); System.out.println(Arrays.toString(result)); }
输出
[1, 3, 5, 5, 7, 9, 9, 10, 12, 15, 16, 18, 19, 20, 25, 32, 80, 99]
常用算法时间复杂度和空间复杂度表
0 0
- 常用排序算法之希尔排序法
- 常用排序算法之希尔排序
- Java常用排序算法之希尔排序
- 常用排序算法之希尔排序
- 常用排序算法之希尔排序
- 常用排序算法之希尔排序
- 常用排序算法之希尔排序
- 常用排序算法--希尔排序
- 常用排序算法-希尔排序
- 常用排序算法之插入排序与希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 排序算法之希尔排序
- 网络虚拟化之FlowVisor—网络虚拟层(上)
- Linux学习方法论
- MPAndroidChart使用一之圆饼图
- Power of Three
- UML反向工程方法
- 常用排序算法之希尔排序
- 基于v4l2的视频监控
- leetcode 182. Duplicate Emails
- 网络虚拟化之FlowVisor:网络虚拟层(中)
- 解决windows,linux启动问题
- STM32学习-定时器中断实验
- HTTP报文
- Web容器与Servlet
- 【转】Win32下的socket编程