数据结构上机题c语言

设有两个顺序表A和B,元素个数分别是m和n,若表中数据是由小到大排列且m+n个数据各不相同.设计算法将A和B合并为一个按从小到大排列的线性表C
这个题目应该是要输入AB两个数列,输出C
例如输入851,32
输出12385

#include <stdio.h>

void MergeArr(int a[], int m, int b[], int n, int c[])
{
    int i = 0, j = 0, k = 0;
    
    while(i<m && j<n)
    {
        if(a[i] < b[j])
            c[k++] = a[i++];
        else
            c[k++] = b[j++];
    }
    
    while(i < m)
        c[k++] = a[i++];
    while(j < n)
        c[k++] = b[j++];
}
    
int main()
{
    int i;    
    
    //    ç”¨æ•°ç»„表示顺序表
    int A[4]  = {2,5,9,10};
    int B[6]  = {1,3,4,7,8,12};
    int C[10] = {0};
    
    MergeArr(A, 4, B, 6, C);
    for(i = 0; i < 10; ++i)
        printf("%d ", C[i]);
     
    return 0;
}追问

这个题目应该是要输入AB两个数列,输出C

温馨提示:答案为网友推荐,仅供参考
相似回答