定义两个数组,将两个升序排列的归并到第三个数组,第三个数组仍按升序排列
供参考:
#include<stdio.h>
#define N 8
#define M 5
int main()
{
int a[N] = { 1,7,9,11,13,15,17,19 }, b[M] = { 2,4,6,8,10 }, c[N+M];
int *pa = a, * pb=b, * pc=c;
while (pa < a + N && pb < b + M)
{
if (*pa <= *pb){
*pc++ = *pa++;
}
else{
*pc++ = *pb++;
}
}
while (pa < a + N) *pc++ = *pa++;
while (pb < b + M) *pc++ = *pb++;
for (int i = 0; i < N + M; i++)
printf(i == 0 ? "%d" : ",%d", c[i]);
return 0;
}