🖊作者 : Djx_hmbb
📘专栏 : C
文章目录
题目:
代码详情:
void Merge(int* a,int sza,int m,int* b,int szb,int n)
{
int sa = m - 1, sb = n - 1;
int j = m + n - 1;
while (sa > 0 && sb > 0)//两两相比较继续下去的判定条件
{
if (a[sa] <= b[sb])
{
a[j--] = b[sb--];
}
else
{
a[j--] = a[sa--];
}
}
//如果数组b没有拷贝到a中
while (sb>=0)
{
a[j--] = b[sb--];
}
}
//合并两个数组
int main()
{
int a[6] = {1,3,5,0,0,0};
int b[3] = {3,4,5};
int sza = sizeof(a) / sizeof(a[0]);//整个数组的大小
int szb = sizeof(b) / sizeof(b[0]);
Merge(a,sza,3,b,szb,3);
for (int i = 0; i < sza; i++)
{
printf("%d ",a[i]);
}
return 0;
}
感谢家人的阅读,若有不准确的地方 欢迎在评论区指正!