#include<stdio.h>
int main()
{
int m;
scanf("%d",&m);
int a[m];
for(int i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
int n;
scanf("%d",&n);
int b[n];
for(int i=0;i<n;i++)
{
scanf("%d",&b[i]);
}
int c[n+m];
int i=m-1;
int j=0;
int k=0;
while(i>=0&&j<n)
{
if(a[i]>=b[j])
{
c[k++]=a[i--];
}
else
{
c[k++]=b[j++];
}
}
while(i>=0)
{
c[k++]=a[i--];
}
while(j<n)
{
c[k++]=b[j++];
}
for(int i=0;i<k;i++)
{
printf("%d ",c[i]);
}
return 0;
}
题目描述
已知数组a中有m个按升序排列的元素,数组b中有n个按降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。
输入描述
输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。
输出描述
输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。
样例输入
4 1 3 5 7 3 6 4 2
样例输出
7 6 5 4 3 2 1标签:输出,数组,int,样例,合并,++,有序,-- From: https://blog.csdn.net/2401_87987385/article/details/143978909