插入排序(Java实现)
来源:互联网 发布:电信短信平台软件 编辑:程序博客网 时间:2024/05/14 10:28
package unit_2;/** * 插入排序算法采用增量模式,每次把第j个数插入有序的A[0...j-1]中 生成另外一个有序的数组。 * 最佳情况复杂度:O(n) * 最坏情况复杂度:O(n^2) * @author WuNanliang * */public class InsertSorted { public static void main(String[] args) { int arr[] = { 12, 33, 22, 1, 23, 2, 4, 5, 6, 77, 66, 55, 890 }; insert_sort(arr); for (int i = 0; i < arr.length; i++) System.out.print(arr[i] + " "); System.out.print("\n"); insert_sort_desc(arr); for (int i = 0; i < arr.length; i++) System.out.print(arr[i] + " "); } /** * 排序算法 降序 * * @param arr */ private static void insert_sort_desc(int arr[]) { if (arr == null || arr.length == 0) return; int len = arr.length; int cursor = -1; int key = 0; for (int i = 1; i < len; i++) { cursor = i - 1; key = arr[i]; while (cursor >= 0 && arr[cursor] < key) { arr[cursor + 1] = arr[cursor]; cursor = cursor - 1; } arr[cursor + 1] = key; } } /** * 插入排序算法 * * @param arr */ private static void insert_sort(int[] arr) { if (arr == null || arr.length == 0) return; int len = arr.length; int cursor = -1; for (int i = 1; i < len; i++) { int key = arr[i]; cursor = i - 1; while (cursor >= 0 && arr[cursor] > key) { arr[cursor + 1] = arr[cursor]; cursor = cursor - 1; } arr[cursor + 1] = key; } }}
阅读全文
0 0
- 插入排序(java实现)
- 插入排序实现(Java)
- 插入排序(java实现)
- 插入排序(Java实现)
- 插入排序(Java实现)
- 排序-插入排序(java实现)
- java实现排序算法之插入排序(直接插入排序,折半插入排序,希尔排序)
- java实现折半插入排序(二分插入排序)
- 插入排序(包括二分法插入排序)-java实现
- java实现插入排序
- java实现插入排序
- java实现插入排序
- 插入排序---java实现
- Java实现插入排序
- 插入排序 Java实现
- 插入排序(Java实现)
- java实现插入排序
- java实现插入排序
- lua文件操作
- Spring learn note 3
- 小希的迷宫(并查集)
- matlab验证中心切片定理
- 关于conventer转换器
- 插入排序(Java实现)
- 排序算法 JS实现
- java线程学习(一)
- canvas制作圆形百分比统计图
- 374. Guess Number Higher or Lower
- 基于Spring实现一致性哈希(consistent hasing)redis缓存
- Django原生翻页
- 数据库事务
- matplot.pyplot 绘图学习