归并排序_java实现
来源:互联网 发布:xy苹果助手for mac版 编辑:程序博客网 时间:2024/05/17 20:11
public class MergeSort {
private static int n=10;
public static void main(String[] args) {
int a[] = new int [n];
int sort[] = new int [n];
Scanner sc = new Scanner(System.in);
for(int i = 0;i<a.length;i++){
a[i] = sc.nextInt();
}
mergeSort(a,sort,0,a.length-1);
for(Integer obj:sort){
System.out.println(obj);
}
}
private static void mergeSort(int[] unsort, int[] sort, int left, int right) {
if(left>=right){
return;
}
int mid = (left+right)/2;
mergeSort(unsort,sort,left,mid);//mid归后半段数组
mergeSort(unsort, sort, mid+1, right);
sort(unsort,sort,left,right,mid);
}
private static void sort(int[] unsort, int[] sort, int left, int right,
int mid) {
int i = left;
int j = mid+1;
int t = 0;
while(i<=mid&&j<=right){
if(unsort[i]<unsort[j]){
sort[t++] = unsort[i];
i++;
}else{
sort[t++] = unsort[j];
j++;
}
}
while(i<=mid)
sort[t++] = unsort[i++];
while(j<=right)
sort[t++] = unsort[j++];
for(int x = 0;x<t;x++)
unsort[left+x] = sort[x];
}
}
- 归并排序_java实现
- 归并排序_java实现
- 基本排序_归并排序_Java实现
- 归并排序_Java
- 快速排序_java实现
- 归并排序的实现
- 归并排序Java实现
- 归并排序的实现
- 【归并排序+实现】
- 归并排序的实现
- 归并排序 C++实现
- 归并排序(简单实现)
- 归并排序的实现
- Java实现归并排序
- 归并排序实现
- JavaScript实现归并排序
- 归并排序算法实现
- 归并排序--简单实现
- 栈的C++实现
- OSI七层网络模型与TCP/IP四层网络模型
- Unexpected Exception caught setting 'house.floorage' on 'class action.HouseAction
- 第二章:在HTML中使用JavaScript
- c++ 子类虚函数、友元函数、复构、构造、赋值=的重写方式 - 练习题
- 归并排序_java实现
- 用VS2013搭建前端开发环境的心得
- 第九章:Shiro的WEB
- Linux静态库和动态库的使用
- JPA一对一关系实例配置
- JSOUP简介
- 记SDOI2016 R1
- powerdesigner逆向工程,从数据库导出PDM
- Objective-C Runtime总结