栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C将两个有序的数组合并成一个有序数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C将两个有序的数组合并成一个有序数组

编写程序,分别输入两个按从小到大排序的数组 a 和 b,将这两个有序数组合并,使合并后的数组仍是从小到大有序的。

合并两个有序数组的方法:

  1. 有两个有序数组a和b,其中数组a的末尾有足够的空间容纳数组b,将数组b容纳到数组a中。

  2. 创建一个新数组c,数组c的长度要大于等于数组a和b之和。通过比较两个有序数组中的元素,谁小就把谁放到数组c中,直到其中一个数组为空,最后把剩下的数组元素全部放到数组c里。

测试输入:

10

10 15 42 52 59 64 67 73 82 88

3

24 32 57

输入说明: 第一行为n,表示输入数组a的n个整数。 第二行为从小到大的n个整数。 第三行为m,表示输入数组b的m个整数。 第四行为从小到大的m个整数。

预期输出: 10 15 24 32 42 52 57 59 64 67 73 82 88

用第二种方法做:

#include
#define N 20
int main()
{

	int a[N]={ 0 }, b[N]={ 0 };
	int i,j,k,anum,bnum,c[N+N];
	scanf("%d",&anum);   //输入数组a元素个数
	for(i=0;i=b[j])
        {
            c[k]=b[j];k++;j++;
        }
        else
        {
            c[k]=a[i];k++;i++;
        }
    }
	
	
	
	for(i;i

运行结果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/510271.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号