Java归并算法递归实现
来源:互联网 发布:怎样申请淘宝直播间 编辑:程序博客网 时间:2024/06/07 04:18
参考写得一个用递归实现的归并排序 (mergeSort)程序(JAVA)
public class Merge_Sort {private Merge_Sort(){}public static void merge(int[] a){int[] aux = new int[a.length];if(a.length>2)merge(a,aux,0,(a.length-1)/2,a.length-1);sort(a,aux,0,(a.length-1)/2,a.length-1);}public static void merge(int[] a,int[] aux,int lo,int mid,int hi){int midd = (mid-lo)/2;if(midd!=0)merge(a,aux,lo,lo+midd,mid);sort(a,aux,lo,lo+midd,mid);midd = (hi-mid-1)/2;if(midd!=0)merge(a,aux,mid+1,hi-midd-1,hi);sort(a,aux,mid+1,hi-midd-1,hi);}public static void sort(int[] a,int[] aux,int lo,int mid,int hi){int i=lo,j=mid+1,k=lo;while(i<=mid && j<=hi)if(a[i]<a[j])aux[k++]=a[i++];elseaux[k++]=a[j++];while(i<=mid)aux[k++]=a[i++];while(j<=hi)aux[k++]=a[j++];for(int tt=lo;tt<=hi;tt++)a[tt]=aux[tt];System.out.println("lo="+lo+" hi="+hi);System.out.print("aux=");Array.print(aux);//System.out.print("a =");//Array.print(a);}public static void main(String[] args){Array a = new Array(19);//int[]b={62,20};//Array.print(b);merge(a.array);Array.print(a.array);}}
0 0
- Java归并算法递归实现
- 归并排序算法(递归实现)
- 归并排序算法(递归实现)
- Java实现的归并排序算法(递归优化版)
- 归并排序递归 java实现
- java归并算法实现
- java实现归并算法
- java实现归并算法
- 归并算法 c#实现(递归实现)
- 【算法】归并--实现归并排序非递归算法
- 【算法】归并--C语言实现归并排序递归算法
- 用Java泛型实现归并排序(递归和非递归算法)
- Java排序算法(三)--归并排序(MergeSort)递归与非递归的实现
- 非递归实现归并排序算法
- 归并排序算法 递归及循环实现
- 归并算法的非递归实现
- 归并算法的递归和非递归实现
- [原]归并排序的java递归实现
- XMPP 协议工作流程详解
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
- 冲突域和广播域
- POJ 2492 A Bug's Life (高级并查集||带权并查集 ||二分图的判断+二维vector)
- python自学之文件
- Java归并算法递归实现
- No5 触摸事件
- Kaptcha生成验证码
- protocol buffer语法
- Perl学习笔记(三)
- php数据库编程:利用mysql扩展库操作数据库。
- 判断两个字符串是否为兄弟字符串
- hdu2181C - 哈密顿绕行世界问题
- Cocos2d-JS使用log方法控制台无法打印出结果