欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ZZULIOJ 1124: 两个有序数组合并

发布时间:2025/3/17 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ZZULIOJ 1124: 两个有序数组合并 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

两个有序数组合并

题目描述
已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。

输入
输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000。

输出
输出合并后的m+n个整数,数据之间用空格隔开。输出占一行。

样例输入 Copy
4 1 2 5 7
3 6 4 2
样例输出 Copy
7 6 5 4 2 2 1
提示
试图排序的孩子们要小心了~~~~~~

#include<stdio.h> int a[1000000],b[1000000]; int c[2000000]; int main() {int m,n,i,j,k=0;scanf("%d",&m);for(i=m-1;i>=0;i--){scanf("%d",&a[i]);}scanf("%d",&n);for(j=0;j<n;j++){scanf("%d",&b[j]);} int s=0,t=0;while(s<m&&t<n){if(a[s]>=b[t])c[k++]=a[s++];else c[k++]=b[t++];}while(s<m){c[k++]=a[s++];}while(t<n){c[k++]=b[t++];}for(k=0;k<m+n-1;k++){printf("%d ",c[k]);}printf("%d\n",c[m+n-1]);return 0; }

总结

以上是生活随笔为你收集整理的ZZULIOJ 1124: 两个有序数组合并的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。