...有序顺序表A和B合并成一个新的非递减有序顺序表C
发布网友
发布时间:2024-10-19 22:32
我来回答
共2个回答
热心网友
时间:2024-11-06 05:08
首先你的输出A,B,C全为空说明你的标记length没有随着输入的数自加,这样需要在你的函数中加入两条语句:
scanf("%d", &a);
//scanf("\n");
for(i;i<a;i++)
{
scanf("%d", &A.elem[i]);
A.length++;//添加
}
i = 0;
scanf("%d", &b);
//scanf("\n");
for(i=0;i<b;i++)
{
scanf("%d", &B.elem[i]);
B.length++;//添加
}
这样加入后A,B,的输出与预期结果一样,但C中的最后一个值是随机的,说明C未能插入B中最后一个值,显然是MergeList_Sq函数出了问题。做如下改动:
将“while((pa<pa_last) ||(pb<pb_last))”中的“||”改成“&&”后问题解决。注意pa,pb指针需要同时满足没有走到结尾。
热心网友
时间:2024-11-06 05:11
首先你的输出A,B,C全为空说明你的标记length没有随着输入的数自加,这样需要在你的函数中加入两条语句:
scanf("%d",
&a);
//scanf("\n");
for(i;i<a;i++)
{
scanf("%d",
&A.elem[i]);
A.length++;//添加
}
i
=
0;
scanf("%d",
&b);
//scanf("\n");
for(i=0;i<b;i++)
{
scanf("%d",
&B.elem[i]);
B.length++;//添加
}
这样加入后A,B,的输出与预期结果一样,但C中的最后一个值是随机的,说明C未能插入B中最后一个值,显然是MergeList_Sq函数出了问题。做如下改动:
将“while((pa<pa_last)
||(pb<pb_last))”中的“||”改成“&&”后问题解决。注意pa,pb指针需要同时满足没有走到结尾。
热心网友
时间:2024-11-06 05:15
首先你的输出A,B,C全为空说明你的标记length没有随着输入的数自加,这样需要在你的函数中加入两条语句:
scanf("%d", &a);
//scanf("\n");
for(i;i<a;i++)
{
scanf("%d", &A.elem[i]);
A.length++;//添加
}
i = 0;
scanf("%d", &b);
//scanf("\n");
for(i=0;i<b;i++)
{
scanf("%d", &B.elem[i]);
B.length++;//添加
}
这样加入后A,B,的输出与预期结果一样,但C中的最后一个值是随机的,说明C未能插入B中最后一个值,显然是MergeList_Sq函数出了问题。做如下改动:
将“while((pa<pa_last) ||(pb<pb_last))”中的“||”改成“&&”后问题解决。注意pa,pb指针需要同时满足没有走到结尾。
热心网友
时间:2024-11-06 05:14
首先你的输出A,B,C全为空说明你的标记length没有随着输入的数自加,这样需要在你的函数中加入两条语句:
scanf("%d",
&a);
//scanf("\n");
for(i;i<a;i++)
{
scanf("%d",
&A.elem[i]);
A.length++;//添加
}
i
=
0;
scanf("%d",
&b);
//scanf("\n");
for(i=0;i<b;i++)
{
scanf("%d",
&B.elem[i]);
B.length++;//添加
}
这样加入后A,B,的输出与预期结果一样,但C中的最后一个值是随机的,说明C未能插入B中最后一个值,显然是MergeList_Sq函数出了问题。做如下改动:
将“while((pa<pa_last)
||(pb<pb_last))”中的“||”改成“&&”后问题解决。注意pa,pb指针需要同时满足没有走到结尾。