题目:假设有两个集合A和B分别用两个线性表LA和LB表示,即线性表中的数据元素即为集合中的成员,现要求一个新的集合A=AUB,例如:A={1,2,3,4},B={1,5,6,4,8,9},则AUB={1,2,3,4,5,6,8,9}.
一开始写的代码:
#include <stdio.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
int Search(LinkList *L,int e);
int main()
{
LinkList *LA,*LB,*p,*q;
int i;
LA=(LinkList)malloc(sizeof(LNode));
LB=(LinkList)malloc(sizeof(LNode));
p=(LinkList)malloc(sizeof(LNode));
q=(LinkList)malloc(sizeof(LNode));
printf("请依次输入集合A和集合B中的元素!\n集合A中的元素为:");
p=LA;
for(i=0;i<4;i++){
LA=(LinkList)malloc(sizeof(LNode));
scanf("%d",&LA->data);
LA=LA->next;
}
LA->next=NULL;
printf("集合B中的元素为:");
q=LB;
for(i=0;i<6;i++){
LB=(LinkList)malloc(sizeof(LNode));
scanf("%d",&LB->data);
LB=LB->next;
}
LB->next=NULL;
LB=q;
while