归并数组
归并数组
归并的思想
小案例:
给你两个有序数组,合并成一个大的有序的数组。
(1)思路一:
创建一个大的数组,长度为两个数组之和,然后冒泡排序。
代码不写了。
(2)思路二:
归并思路如下:
1、同时遍历两个数组,遍历的当前值进行比较,小的放入新数组。
2、放进去之后,数据继续遍历,指针后移。
3、经过多次遍历
public class Merge {
public static void main(String[] args) {
int[] a = {1, 3, 5, 7, 8};
int[] b = {2, 4, 6, 9, 10};
//i和j代表a队和b队的选手
int i = 0;
int j = 0;
//创建一个大数组
int[] merge = new int[a.length + b.length];
while (i < a.length || j < b.length) {
if (i == a.length) {
merge[i + j] = b[j];
j++;
continue;//结束当前循环后面的不执行,重新循环
}
if (j == b.length) {
merge[i + j] = a[i];
i++;
continue;
}
if (a[i] < b[j]) {
merge[i + j] = a[i];
i++;
} else {
merge[i + j] = b[j];
j++;
}
}
for (int m = 0; m < merge.length; m++) {
System.out.println(merge[m]);
}
}
}

浙公网安备 33010602011771号