归并排序 java实现
来源:互联网 发布:苹果电脑怎么下软件 编辑:程序博客网 时间:2024/06/07 04:52
public class Main {public static void merge(int[] a, int l1, int r1, int l2, int r2) {int[] tp = new int[r2 - l1 + 1];int i = 0;int tpl1 = l1, tpl2 = l2;while (tpl1 <= r1 && tpl2 <= r2) {if (a[tpl1] <= a[tpl2]) {tp[i++] = a[tpl1++];} else {tp[i++] = a[tpl2++];}}while (tpl1 <= r1) {tp[i++] = a[tpl1++];}while (tpl2 <= r2) {tp[i++] = a[tpl2++];}for (i = 0; i < tp.length; i++) {a[l1 + i] = tp[i];}}public static void mergesort(int[] a, int l, int r) {if (l >= r) {return;}int mid = (l + r) / 2;mergesort(a, l, mid);mergesort(a, mid + 1, r);merge(a, l, mid, mid + 1, r);}public static void main(String[] args) {int[] a = { 100, 325, 3, 134, 6, 311, 6, 3463, 4631, 6, 45, 745, 7, 3542, 43, 1, 134, 33, 2 };for (int i : a) {System.out.print(i + " ");}System.out.println();mergesort(a, 0, a.length - 1);for (int i : a) {System.out.print(i + " ");}System.out.println();}}
0 0
- 归并排序Java实现
- Java实现归并排序
- Java实现归并排序
- 归并排序Java实现
- 归并排序JAVA实现
- java实现归并排序
- 归并排序(java实现)
- 归并排序java实现
- Java实现归并排序
- 归并排序 java实现
- 归并排序Java实现
- 归并排序java实现
- Java实现归并排序
- Java实现归并排序
- Java实现归并排序
- JAVA实现归并排序
- java实现归并排序
- 归并排序 Java实现
- js获取html元素
- imooc -dom事件练习(抽奖练习)
- POJ 3274 Gold Balanced Lineup (前缀和 + 哈希表)
- 使用idea导入非maven项目并编译运行
- VPN连接设置
- 归并排序 java实现
- ViewPagerIndictor
- 抽象和封装:
- Shell入门(一)Shell脚本、环境
- 内网渗透中的mimikatz
- 死锁的相关概念
- 字符设备驱动模型
- QT之GUI学习笔记---文本文件读写
- 教你如何评估时间空间复杂度?