/*
合并两个有序的数组,
假设数组a能容纳合并的结果
*/
int mergeArray(int *a,const int a_len,const int a_size,
int *b,const int b_len)
{
if(a==NULL || b==NULL || a_len<0 || b_len<0 ||
a_len + b_len > a_size)
return -1;//输入错误
int aIndex=a_len-1,bIndex=b_len-1;
int newIndex=a_len+b_len-1;
while(aIndex>=0 || bIndex>=0)
{
int bigger=0;
if(aIndex>=0 && bIndex>=0)
{
if(a[aIndex] > b[bIndex])
{
bigger=a[aIndex];
aIndex--;
}
else
{
bigger=b[bIndex];
bIndex--;
}
}
else if(aIndex<0 && bIndex>=0)
{
bigger=b[bIndex];
bIndex--;
}
else
{
bigger=a[aIndex];
aIndex--;
}
a[newIndex]=bigger;
newIndex--;
}
return 0;
}
合并有序数组
最新推荐文章于 2022-11-18 13:00:00 发布