已知线性表LA和LB中的数据元素按值非递减有序排列,要求将LA和LB归并为一个新的线性表LC,且LC中的数据仍是按值非递减有序排列。LA=(3,5,8,11),LB=(2,6,8,9,11,15,20)
#include<stdio.h>
void MergeList(List La,List Lb,List &Lc)
{
InitList(Lc);
i=j=l;k=0;
La_len = ListLength(La);Lb_len=ListLength(Lb);
while ((i<=La_len)&&(j<=Lb_len)){
GetElem(La,i ai);GetElem(Lb,j,bj);
if(ai<=bj){ListInsert(Lc,++k,ai);++i;}
else{ListInsert(Lc,++k,bj);++j;}
}
while(i<=La_len){
GetElem(La,i++ ,ai);ListInsert(Lc,++k,ai);
}
while(j<=Lb_len){
GetElem(Lb,j++ bj);ListInsert(Lc,++k,bj);
}
}
执行有错误,还有在什么地方赋值帮忙修改下哈,跪谢
[此贴子已经被作者于2007-9-8 15:01:12编辑过]
----------------解决方案--------------------------------------------------------
只有一部份,很难给你改.
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
没有完整的程序真的不好改!~
只发现一个小错误!~
#include<stdio.h>
void MergeList(List La,List Lb,List &Lc)
{
InitList(Lc);
i=j=l;k=0;
La_len = ListLength(La);Lb_len=ListLength(Lb);
while ((i<=La_len)&&(j<=Lb_len)){
GetElem(La,i ,ai);GetElem(Lb,j,bj);//这里貌似少了个“,”号啊!~不知道是楼主漏写了,还是怎么滴!~
if(ai<=bj){ListInsert(Lc,++k,ai);++i;}
else{ListInsert(Lc,++k,bj);++j;}
}
while(i<=La_len){
GetElem(La,i++ ,ai);ListInsert(Lc,++k,ai);
}
while(j<=Lb_len){
GetElem(Lb,j++ bj);ListInsert(Lc,++k,bj);
}
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------