/** * \* Created with IntelliJ IDEA. * \* User: wugong.jie * \* Date: 2018/4/10 16:54 * \* To change this template use File | Settings | File Templates. * \* Description: * \ */ public class MergeArrUtils { /** * 两个有序的数组合并 * 使用场景:两个服务器上的流水文件,按时间顺序打印,需要进行合并操作 * 简要说明一下思想: * 既然是两个有序的数组,两个合并一个数组, * 那就是说应该会存在一个数组剩下,无论哪一个剩下,都只需要将剩下的数组,直接添加到新的数组上即可 * @author wugong * @date 2018/4/10 16:54 * @modify if true,please enter your name or update time * @param */ public static int[] mergeSortArr(int[] arr1,int[] arr2){ int[] resultArr = new int[arr1.length+arr2.length]; int i=0,j=0,n=0; while(i<arr1.length&&j<arr2.length){ if(arr1[i]>arr2[j]){ resultArr[n++] = arr1[i++]; }else{ resultArr[n++] = arr2[j++]; } } while (i<arr1.length){ resultArr[n++]=arr1[i++]; } while (j<arr2.length){ resultArr[n++]=arr2[j++]; } return resultArr; } }
public static String toString(int[] a) { if (a == null) return "null"; int iMax = a.length - 1; if (iMax == -1) return "[]"; StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(a[i]); if (i == iMax) return b.append(']').toString(); b.append(", "); } }