两个已经排序的数组如何合并成一个新的有序数组

2025-03-12 17:14:02
推荐回答(1个)
回答1:

改一下排序函数就可以了。就可以不用每次去比较所有元素了。void MergeArray(int* a, int size1, int* b, int size2, int* c, int size3)/*将数组递增数组a,b合并成递减数组c,size1,size2,size3分别是a,b,c数组的大小*/
{
int i = 0, j = 0, k = 0;

int temp = 0;

k = size3 - 1; /*数组c最后一个元素空间*/

while(i{
/*比较a,b数组当前值,取出较小元素,保存到数组c中(小值在数组c中由后至前保存)*/

if(a[i] < b[j])
{
c[k] = a[i];
i++;
}
else
{
c[k] = b[j];
j++;
}
k--;
}
}