2 sinat 36204309 sinat_36204309 于 2016.09.25 09:24 提问

c语言 数据结构合并有序顺序表

请大神帮忙看看为什么运行出来后面会有一串奇怪的数
#include
#include
#define MAXSIZE 10
typedef struct
{
int elem[MAXSIZE];
int len;
}sqlist;

void merge(sqlist *la,sqlist *lb,sqlist *lc)
{
int i,j,k;
i=j=k=0;
if(la->len+lb->len<=MAXSIZE)
{
while(ilen&&jlen)
{
if(la->elem[i]elem[j])
{
lc->elem[k]=la->elem[i];
i++;
k++;
}
else if (la->elem[i]>lb->elem[j])
{
lc->elem[k]=lb->elem[j];
j++;
k++;
}
else {
lc->elem[k]=lb->elem[j];
i++;
j++;
k++;
}
}
while(ilen)
{
lc->elem[k]=la->elem[i];
i++;
k++;
}
while(jlen)
{
lc->elem[k]=lb->elem[j];
j++;
k++;
}
lc->len=la->len+lb->len;
}
else printf("out of bound");
}

void print(sqlist *l)
{
int i;
for(i=0;ilen;i++)
{
printf("%d ",l->elem[i]);
}
}

int main()
{
int i;
sqlist la={{1,2,5,8,9},5};
sqlist lb={{2,4,7,18,21},5};
sqlist lc={{0},0};
merge(&la,&lb,&lc);
print(&lc);
return(0);
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.09.26 00:17
Csdn user default icon
上传中...
上传图片
插入图片