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; }
相关文章推荐
- 归并排序
- 归并排序(链表结构)
- HDU 1394 Minimum Inversion Number【线段树&&归并排序】
- 算法-归并排序
- 排序算法——归并排序
- JAVA的归并排序
- 各种排序总结(二)之--归并排序、希尔排序、插入排序
- 归并排序
- 为什么归并排序比插入排序比较次数要少?
- 九度OJ 1348:数组中的逆序对 (排序、归并排序)
- Java数据结构
- 归并排序 Java
- 十六周 项目1 归并排序
- 第十六周项目8 归并排序
- java数据结构--二叉树,递归遍历,非递归遍历,层次遍历
- 算法导论1:插入排序和归并排序 2016.1.1
- 【Java】Java数据结构和算法(二)——栈和队列
- 排序-归并排序-基本
- 归并排序
- 归并排序