常用排序算法之希尔排序
2016-07-24 15:14
260 查看
常用排序算法之冒泡排序
常用排序算法之快速排序
常用排序算法之插入排序
常用排序算法之归并排序
常用排序算法之选择排序
常用排序算法之堆排序
希尔排序算法
运行
输出
常用算法时间复杂度和空间复杂度表
常用排序算法之快速排序
常用排序算法之插入排序
常用排序算法之归并排序
常用排序算法之选择排序
常用排序算法之堆排序
希尔排序算法
/** * 希尔排序 * * @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]
常用算法时间复杂度和空间复杂度表
相关文章推荐
- JavaScript演示排序算法
- 算法之排序算法的算法思想和使用场景总结
- PHP版本常用的排序算法汇总
- JavaScript实现多种排序算法
- php 地区分类排序算法
- js三种排序算法分享
- Javascript中的常见排序算法
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
- 使用Java实现希尔排序算法的简单示例
- 排序算法的javascript实现与讲解(99js手记)
- 图文详解Heap Sort堆排序算法及JavaScript的代码实现
- C++中十种内部排序算法的比较分析
- Java实现几种常见排序算法代码
- 浅谈javascript实现八大排序
- C语言演示对归并排序算法的优化实现
- JS及PHP代码编写八大排序算法
- PHP常用的排序和查找算法
- JavaScript中九种常用排序算法
- STl中的排序算法详细解析
- 算法学习入门之使用C语言实现各大基本的排序算法