合并两个有序数组

有序数组合并算法
本文介绍了一个用于合并两个已排序整数数组的算法实现。通过比较两个数组中的元素,该算法能够将它们高效地合并成一个新的有序数组。文章详细展示了算法的具体步骤及其实现代码。

 

int merge(int af[],int lena,int bf[],int lenb) //有序合并
{
	int i=1,j=1,k=1;
	int* c = new int[lena+lenb];
	do //检索a[i]b[j]中较小的,赋给c[k]
	{
		while((af[i]>=bf[j])&&(j<=lenb)) { c[k]=bf[j]; j++; k++; }
		while((af[i]<bf[j])&&(i<=lena))	{ c[k]=af[i]; i++; k++; }
	}while((i<=lena)&&(j<=lenb));

	//当完成a或b任一个的检索后,将另一个全赋于c
	for(;j<=lenb;j++) { c[k]=bf[j]; k++; }
	for(;i<=lena;i++) { c[k]=af[i]; k++; }
	return c; //返回c的长度
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值