读书人

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

发布时间: 2013-09-23 11:26:10 作者: rapoo

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

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));






读书人网 >编程

热点推荐