一个循环合并两个有序数组

来源:互联网 发布:unity3d 跟随鼠标旋转 编辑:程序博客网 时间:2024/05/01 11:33
int[] a = { 1, 3, 5, 7,7 };int[] b = { 2, 4, 6, 8,10,12,13 };int[] c = new int[a.length+b.length];int ai = 0;int bi = 0;int ci = 0;for (ci = 0; ci < a.length+b.length; ci++) {//如果一个数组已经放完,直接将另外一个数组copy。if(ai == a.length){c[ci] = b[bi++];continue;}if(bi == b.length){c[ci] = a[ai++];continue;}//选中最小的放到新数组中,而最小的就是各个数组的第一个。if (a[ai] > b[bi]) {c[ci] = b[bi];//if(bi+1 < b.length){bi++;//}} else {c[ci] = a[ai];//if(ai+1 < a.length){ai ++;//}}}System.out.println(Arrays.toString(c));