一勺-_- 2020-03-24 17:54 采纳率: 100%
浏览 279
已结题

有谁会数据结构里归并操作的,可以帮忙解释一下while后面的代码意思吗?

void MergeList(SqList La,SqList Lb, SqList &Lc)
{
//归并操作

ElemType pa,*pb,*pc,*pa_last,*pb_last;
pa=La.elem;
pb=Lb.elem;
Lc.listsize=Lc.length=La.length+Lb.length;

pc=Lc.elem=(ElemType
)malloc(Lc.listsize*sizeof(ElemType));
if(!Lc.elem)exit(OVERFLOW);
pa_last=La.elem+La.length-1;

pb_last=Lb.elem+Lb.length-1;

while(pa<=pa_last&&pb<=pb_last)
{

if(*pa<=*pb)
*pc++=*pa++;

else *pc++=*pb++;

}

while(pa<=pa_last)
pc++=*pa++;
while(pb<=pb_last)
*pc++=*pb++;}_

有大神能说一下这段代码什么意思么???

while(pa<=pa_last&&pb<=pb_last)
{

if(*pa<=*pb)
*pc++=*pa++;

else *pc++=*pb++;

}

while(pa<=pa_last)
pc++=*pa++;
while(pb<=pb_last)
*pc++=*pb++;}_

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-03-24 18:05
    关注

    顺序表的合并
    while(pb<=pb_last)
    *pc++=*pb++;
    这里是遍历b表的剩余部分,并且依次拷贝到c表中。

    评论

报告相同问题?