您的位置:首页 > 理论基础 > 数据结构算法

JAVA数据结构 归并排序

2012-08-31 00:00 465 查看

归并排序

归并排序(Merging Sort)不同于其他排序,他是将两个或者两个以上的有序表合成一个新的有序表

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。

  将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。

 /* * Kiss_My_Love * 2012/8/31 * 归并排序 **/ public static Object[] mergeSort(Object[] arr,Object[] arr2){ Object[] obj = null; int n=arr.length+arr2.length; obj=new Object
; int i,j,k=0; for(i=0,j=0;i<arr.length&&j<arr2.length;){ if((Integer)arr[i]>(Integer)arr2[j]){ obj[k++]=arr2[j++]; }else { obj[k++]=arr[i++]; } } while(i<arr.length){ obj[k++]=arr[i++]; } while(j<arr2.length){ obj[k++]=arr[j++]; } // for(int n1 =0;n1<obj.length;n1++){ // System.out.println(obj[n1]); // } return obj; }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息