程辅上的问题!谢谢各位大侠能指点!!
请教:
函数merge将2个从小到大的有序数组a和b合并成一个新的从小到大的有序数列c,其中形参n和m分别是数组a和b的元素个数!
程序如下:
void merge(int a[],int n,int b[],int m,int *c)
{
int i,j;
i=j=0;
while(i<n && j<m) *c++=a[i]<b[j]?a[i++] : b[j++];
while (i<n) *c++=a[i++];
while (j<m) *c++=b[j++];
}
问题就出在第一个while中,例如有如下的两个生序数组:
n=4 a 1 , 3, 5, 7
m=6 b 2 , 4, 6, 8, 10, 12
用第一个while循环能不能使:
a: 1, 3, 5, 7
b: 2, 4, 6, 8
排序成 c: 1 ,2 , 3, 4, 5, 6, 7, 8 吗??
好象不能呢?是不是清华版的程辅出错了?还是我菜啊!!请大虾出招把!小弟接招了!!!谢谢!非常谢谢!!
请讲仔细点可以?小第会另开给分的!!!