http://wenwen.soso.com/z/q169244363.htm
#include <iostream.h>
const int M=7;
const int N=4;
void Merge_sort(int a[],int an,int b[],int bn)
{
int c[M+N]={0};
int i=0,j=0,k=0;
while(i<an&&j<bn)
{
if(a[i]<=b[j])
{
c[k]=a[i];
i++; k++;
}
else
{
c[k]=b[j];
j++; k++;
}
}
while(j<bn)
{
c[k++]=b[j++];
}
while(i<an)
{
c[k++]=a[i++];
}
for( i=0;i<M+N;i++)
cout<<c[i]<<" ";
cout<<endl;
}
void main()
{
int a[M]={7,12,15,20,26,45,52};
int b[N]={4,8,10,17};
Merge_sort(a,M,b,N);
}
程序执行结果:


本文提供了一个使用C++实现的归并排序算法示例,该算法用于合并两个已排序的整数数组。通过一个具体的例子展示了如何将两个数组合并成一个有序数组的过程。
1529

被折叠的 条评论
为什么被折叠?



