归并排序(Merging Sort)不一样于其余排序,他是将两个或者两个以上的有序表合成一个新的有序表java
归并排序是创建在归并操做上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个很是典型的应用。 算法
将已有序的子序列合并,获得彻底有序的序列;即先使每一个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。ide
/* * 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[n]; 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; }