**
7-2 合并两个有序数组为新的有序数组 (15 分)
**
合并两个升序排序的整型数组为一个新的升序整型数组并输出。
输入格式:
首先输入第一个数组的数据个数后输入第一个数组按升序排序的数据,然后再输入第二个数组的数据个数,最后输入第二个数据按升序排序的数据。数据之间用一个或多个空格或回车符分隔。
输出格式:
输出合并后按升序排序的数组的元素,元素之间用一个空格分隔。(注意输出的最后一个元素后会有一个空格符)
输入样例:
4
1 2 8 10
5
-1 5 6 20 200
输出样例:
-1 1 2 5 6 8 10 20 200
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner x=new Scanner(System.in);
int a,b,i,j=0,k=0;
//输入第一组数据
a=x.nextInt();
int[] c=new int[a];
for(i=0;i<a;i++) {
c[i]=x.nextInt();
}
//输入第二组数据
b=x.nextInt();
int[] d=new int[b];
for(i=0;i<b;i++) {
d[i]=x.nextInt();
}
int[] e=new int[a+b];
i=0;
//两组数据个数相同部分相互比较大小放入数组e
while(i<a&&j<b){
if (c[i]<d[j]){
e[k]=c[i];
k++;i++;
}
else{
e[k]=d[j];
k++;j++;
}
}
//将多出来的部分放入数组
while(i<a){
e[k]=c[i];
k++;i++;
}
while(j<b){
e[k]=d[j];
k++;j++;
}
//输出合并后的数组e
for(i=0;i<a+b;i++)
System.out.print(e[i]+" ");
}
}