定义两个数组,将两个升序排列的归并到第三个数组,第三个数组仍按升序排列

定义两个数组,将两个升序排列的归并到第三个数组,第三个数组仍按升序排列

供参考:

#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;
}