java实现归并排序算法
2016-07-10 09:03
267 查看
java实现的归并排序算法,非常清晰,希望分享出来共同交流学习!
public class MergeSort{ public static void main(String args[]){ int []a = {1,8,9,7,5,4,5,1,2,4,5,78,2}; mergeSort(a); for(int i:a){ System.out.print(i+","); } } public mergeSort(int[]a){ sort(a,0,a.length-1); } public static void sort(int []a,int L ,int R){ if(L<R){ int M = (L+R)/2; sort(a,L,M); sort(a,M+1,R); merge(a,L,M,R); } } public static void merge(int[]a,int L,int M,int R){ if(L<R){ int start1=L; int end1=M; int start2=M+1; int end2=R; int [] temp = new int [R-L+1]; int index = 0; int i=start1; int j=start2; while(i<=end1&&j<=end2){ if(a[i]>=a[j]){ temp[index++]=a[i++]; } else{ temp[index++]=a[j++]; } } while(i<=end1){ temp[index++]=a[i++]; } while(j<=end2){ temp[index++]=a[j++]; } for(index=0;index<temp.length;index++){ a[L+index]=temp[index]; } } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树