首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-09-23 
一个循环合并两个有序数组int[] a { 1, 3, 5, 7,7 }int[] b { 2, 4, 6, 8,10,12,13 }int[] c new

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

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






热点排行