将两个有序的数组,归并为一个有序的新数组C语言详解

问题描述:将两个有序的数组,归并为一个有序的新数组
编译环境:vc++6.0
代码:

#include <stdio.h>

/*将两个有序的数组,归并为一个有序的新数组*/

int main()
{
	int i = 0, j = 0, k = 0;
	int a[5] = { 4,9,17,18,19 }, b[5] = { 2 ,6,7 ,11, 18 }, c[10];     //将数组a,b归并到数组c

	while (i < 5 && j < 5)           //数组a,b中的元素都没有归并完
		if (a[i] < b[j])			//小的放前面
			c[k++] = a[i++];
		else
			c[k++] = b[j++];

	while (i < 5)                  //判断哪个数组还有剩余
		c[k++] = a[i++];
	while (j < 5)
		c[k++] = b[j++];

	printf("合并后:\n");           //输出归并后的结果
	for (k = 0; k < 10; k++)
		printf("%d\t", c[k]);
	printf("\n");
	return 0;
}

测试案例:
在这里插入图片描述

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值