#include
#include
#define MAXSIZE 110
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
{
lc->elem[k]=lb->elem[j];
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]);
}
printf("\n");
}
int main(void)
{
int i;
sqlist la;
sqlist lb;
sqlist lc;
printf("输入线性表LA的元素个数:");
scanf("%d",&la.len);
printf("输入线性表LA的%d个元素:",la.len);
for(i=0;i scanf("%d",&la.elem[i]);
printf("输入线性表LB的元素个数:");
scanf("%d",&lb.len);
printf("输入线性表LB的%d个元素:",lb.len);
for(i=0;i scanf("%d",&lb.elem[i]);
merge(&la,&lb,&lc);
print(&lc);
system("pause");
return(0);
}