Java 八大排序之——归并排序
来源:互联网 发布:c语言运算符号意义大全 编辑:程序博客网 时间:2024/06/05 20:31
代码
private static void MergeSort(int[] a) { System.out.println("开始排序"); Sort(a, 0, a.length - 1); } private static void Sort(int[] a, int left, int right) { // !!!等于的时候就是一个数,不用比较了! if (left >= right) { return; } int mid = (left + right) / 2; Sort(a, left, mid); Sort(a, mid + 1, right); merge(a, left, mid, right); common.print(a); } private static void merge(int[] r, int i, int m, int n) { int[] rf = new int[r.length]; // k是rf数组的下标 // tmpI记录i的初始位置 // j是r右边的游标 int k = i; int tmpI = i; int j = m + 1; for (; i <= m && j <= n; k++) { if (r[i] < r[j]) { rf[k] = r[i++]; } else { rf[k] = r[j++]; } } // 将左边剩余的合并 while (i <= m) { rf[k++] = r[i++]; } // 将右边剩余的合并 while (j <= n) { rf[k++] = r[j++]; } i = tmpI; // 复制数组 while (i <= n) { r[i] = rf[i]; i++; } }
2 0
- Java 八大排序之——归并排序
- 八大排序之归并排序
- Java提高 - 八大排序方法之归并排序
- 八大排序算法之-归并排序 java代码
- 八大排序--归并排序
- 八大排序--归并排序
- 八大排序---归并排序
- 八大排序算法之归并排序
- 八大排序算法之归并排序
- 八大排序算法 之 归并排序
- 八大排序学习之五归并排序
- 八大排序算法之归并排序
- [027]八大排序算法详解——归并排序
- 八大排序算法详解——归并排序
- Java 八大排序之——冒泡排序
- Java 八大排序之——直接插入排序
- Java 八大排序之——希尔排序
- Java 八大排序之——简单选择排序
- JDBC-ecplise连接MySql数据库
- 敏捷开发之Scrum
- MySQL简单的备份还原
- USACO 1.4.3 等差数列
- 关于如何自定义一个 文本输入框(UITextView) 的思想以及整个操作流程
- Java 八大排序之——归并排序
- java--通过sax方式解析xml文件的简单实例
- HDU 4770 Lights Against Dudely(二进制枚举子集)
- 动态规划算法典型问题
- ocp-462
- ocp-463
- ocp-464
- ocp-465
- ocp-466