归并排序
2015-08-02 10:50
218 查看
package sort; import java.util.Arrays; public class MergerSort { public static int arr1[]=new int[10]; public static int arr2[]=new int[10]; public static int arr3[]=new int[20]; static{ System.out.println("Before sort: "); System.out.print("arr1[]: "); for(int i=0;i<arr1.length;i++) arr1[i]=(int)(Math.random()*100); Arrays.sort(arr1); for(int i=0;i<arr1.length;i++) System.out.print(arr1[i]+" "); System.out.println(); System.out.print("arr2[]: "); for(int i=0;i<arr2.length;i++) arr2[i]=(int)(Math.random()*100); Arrays.sort(arr2); for(int i=0;i<arr2.length;i++) System.out.print(arr2[i]+" "); System.out.println(); } public static void main(String args[]){ System.out.println("After sort: "); mergerSort(); for(int i=0;i<arr3.length;i++) System.out.print(arr3[i]+" "); System.out.println(); } public static void mergerSort(){ int i1=0,i2=0; int k=0; while(i1<10 && i2<10){ if(arr1[i1]<=arr2[i2]){ arr3[k]=arr1[i1]; i1++; } else{ arr3[k]=arr2[i2]; i2++; } k++; } if(i1<10){ for(int j=i1;j<10;j++) arr3[k+j-i1]=arr1[j]; } if(i2<10){ for(int j=i2;j<10;j++) arr3[k+j-i2]=arr2[j]; } } }
相关文章推荐
- 数论总结
- 文章标题
- hash_map和map的区别
- C++面向对象程序设计 笔记2(Class with pointer members)
- Leetcode Q14 :Longest Common Prefix
- 58 - 二叉树的中序遍历的下一个节点
- hiho一下 第五十七周 高斯消元·二(高斯消元解异或方程组)
- Appium - WebView测试(Android)
- 单例模式
- 为什么margin-top值不是作用域父元素
- 假期
- php-面向对象(3)
- 余弦推倒
- 并查集的介绍及实现
- 概率霍夫变换来检测直线——HoughLinesP参数分析
- Velocity + log4j + Spring MVC + Spirng + MyBatis + Maven整合
- Delphi DLL的创建、静态 以及动态调用
- php-面向对象(2)
- 1099. Build A Binary Search Tree (30)
- leetcode-Maximum Subarray