两个线性表LA和LB,今要将LB中不同于LA的元素插入LA,请问要怎么做,谢谢!
#include<stdio.h>#include<stdlib.h>
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType a[MAXSIZE];
int length;
}SqList;
SqList a,b;
void creat_list(SqList *L);
void out_list(SqList L);
void union(List *La,List Lb);
void main(){
int k;
do{
printf("\n\n");
printf("\n 1,建立线性表");
printf(" \n 2.LB与LA不同的元素插入LA中.");
printf("\n 3.结束程序.");
printf("\n===============================");
printf("\n请输入你的选择(1.2,3)");
scanf("%d",k);
switch(k)
{
case 1:{creat_list(&a);out_list(a);
creat_list(&b);out_list(b);
}break;
case 2:{union(&a,b);out_list(a);
}break;
}
}
while(k!=3);
printf("\n 再见!");
printf("\n 打回车键,返回。");ch=getch();
}
void creat_list(SqList *L)
{int i;
printf("\n n=?");scanf("%d",&L->length);
for(i=0;i<L->length;i++){
printf("\n data %d=?",i);
scanf("%d",&(L->a[i]));
}
}
void out_list(SqList L)
{
int i;char ch;
printf("\n");
for(i=0;i<=L.length-1;i++)printf("%10d",L.a[i]);
printf("\n\n 打回车键,继续。");ch=getch();
}
void union(List *La,List Lb){
La-len=ListLength(La);Lb_len=ListLength(Lb);
for(i+1;i<=Lb.len;i++){
GetElem(Lb,i<e);
if(!LocageElem(La,e,equal)) ListInsert(La,++La_len,e);
}
}
请各位朋友帮下忙,帮我看下这个程序错在哪里?怎么会不可以运行,谢谢!