汀汀24 2022-03-15 10:54 采纳率: 81.8%
浏览 105
已结题

数据结构将两个有序的顺序表合并成一个新的有序表


    void merge( SqList A,SqList B, SqList &C)
{
    int i = 0, j = 0, k = 0; 
    while (i < A.len&&j < B.len) 
    {
        if (A.data[i]<B.data[j]) 
        {
            C.data[k] = A.data[i];
            i++;
            k++;
        }
        else// (A.elem[i]>B.elem[j])
        {
            C.data[k] = B.data[j];
            j++;
            k++;
        }
    }
    while (i<A.len)
    {
        C.data[k] = A.data[i]; 
        i++;
        k++;
    }
    while (j<B.len)
    {
        C.data[k] = B.data[j];
        j++;
        k++;
    }
    C.len = k;
    return  SqList &C;
}

为什么最后一句 return SqList &C;会报错?

  • 写回答

1条回答 默认 最新

  • 对象被抛出 2022-03-15 11:08
    关注

    你声明的函数类型是void, 怎么能返回具体的值呢
    该函数的结果会保存在C里面, 不需要额外返回C

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日