供参考:
#include<stdio.h>
int main()
{
int a[8] = { 1,7,9,11,13,15,17,19 }, b[5] = { 2,4,6,8,10 }, c[13];
int *pa = a, * pb=b, * pc=c;
while (pa < a + 8 && pb < b + 5)
{
if (*pa <= *pb){
*pc++ = *pa++;
}
else{
*pc++ = *pb++;
}
}
while (pa < a + 8) *pc++ = *pa++;
while (pb < b + 5) *pc++ = *pb++;
for (int i = 0; i < 13; i++)
printf("%d,", c[i]);
return 0;
}
它的意思是说 两个从小到大排好序的数组A B 如何排序成为一个从小到大排的数组C
A有m-1个元素 B有m-1个元素 相加刚好哦为m+n-2 个元素
意思就是如果有元素重复 不需要覆盖
会了吗