合并两个升序数组,使得合并后的数组仍然是升序。
输入格式:
输入两个整数n和m,表示两个数组的长度。
接着输入n个整数表示第一个数组的元素。
然后输入m个整数表示第二个数组的元素。
要求输入时按升序输入。
import java.util.*;
public class Main{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int[] arrey1 = new int[n];
int[] arrey2 = new int[m];
int[] arrey = new int[n+m];
int i,j,k;
for(i=0;i<n;i++)
arrey1[i] = scanner.nextInt();
for(i=0;i<m;i++)
arrey2[i] = scanner.nextInt();
i = j = k =0;
while(true)
{
if(i<n&&j==m) arrey[k++] = arrey1[i++];
if(i==n&&j<m) arrey[k++] = arrey2[j++];
if(i<n&&j<m) arrey[k++] = arrey1[i]<arrey2[j]?arrey1[i++]:arrey2[j++];
if(i==n&&j==m) break;
}
for(i=0;i<n+m;i++)
System.out.printf("%d ",arrey[i]);
}
}