归并排序
来源:互联网 发布:娇韵诗淘宝是真是假 编辑:程序博客网 时间:2024/05/18 19:21
/** * 归并排序 * @author TMACJ * */public class MergeSort { public static void sort(int[] a, int s, int len) { int size = a.length; int mid = size / (len << 1); int c = size & ((len << 1) - 1); // -------归并到只剩一个有序集合的时候结束算法-------// if (mid == 0) return; // ------进行一趟归并排序-------// for (int i = 0; i < mid; ++i) { s = i * 2 * len; merge(a, s, s + len, (len << 1) + s - 1); } // -------将剩下的数和倒数一个有序集合归并-------// if (c != 0) merge(a, size - c - 2 * len, size - c, size - 1); // -------递归执行下一趟归并排序------// sort(a, 0, 2 * len); } public static void merge(int[] a, int s, int m, int t) { int[] tmp = new int[t - s + 1]; int i = s, j = m, k = 0; while (i < m && j <= t) { if (a[i] <= a[j]) { tmp[k] = a[i]; k++; i++; } else { tmp[k] = a[j]; j++; k++; } } while (i < m) { tmp[k] = a[i]; i++; k++; } while (j <= t) { tmp[k] = a[j]; j++; k++; } System.arraycopy(tmp, 0, a, s, tmp.length); }}
0 0
- 归并排序-归并排序
- 归并和归并排序
- 归并与归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 排序::归并
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- 归并排序
- cocos环境搭建
- AndroidStudio配置与使用SVN
- 至今看到过的最高水平,最详细内容,最具含金量的一篇关于安全与加密方面的技术文章
- 通过url传参时要注意不能有空格,否则会发生意想不到的问题
- java设计模式--命令模式 Command
- 归并排序
- cmd下java javac java 文件
- 用过的Intent的用法
- C/MFC如何获得应用程序当前路径(整理)
- 九度OJ题目1138:进制转换
- 极值、凹凸性、导数关系
- MyBatis--动态SQL---sql片断
- Linux环境下安装jdk
- 解决webpack打包文件过大的问题