[求助]两个集合的差~已有代码求补充
用带头结点的单链表表示集合,求A,B两个集合的差 用带头结点的单链表表示集合,求A,B两个集合的差,C=A-B,C为所有属于A集合而不属于B集合,C中元素的顺序按A中元素原有的顺序存放 。完善void difference(LinkList A,LinkList B,LinkList C)函数。
void CreateList(LinkList &L,int n)
可使用链表第一题已经写好的代码。
#include "stdio.h"
#include "malloc.h"
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
void CreateList(LinkList &L,int n) //正位序输入n个元素的值,建立带头结点的单链线性表L
{
}
void ListPrint(LinkList L)//打印整张表
{
LinkList p;
p=L->next;
if (p==NULL)
{
printf("NULL\n");
return ;
}
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
}
void difference(LinkList A,LinkList B,LinkList C)//请完善
// 求A与B集合的差,结果放在C集合中 C=A-B ,C中元素的顺序按A中元素原有的顺序存放
{
}
int main()
{
LinkList A,B,C;
int n;
scanf("%d",&n);
CreateList(A,n);//生成有n个元素的A链表
scanf("%d",&n);
CreateList(B,n);//生成有n个元素的B链表
CreateList(C,0);//生成只有头结点的C链表
difference(A,B,C);
ListPrint(C);//打印整张表
return 0;
}