已知两个单链表A与B,设计算法AdiffB( ),构造出A与B的差集新链表C,链表C中的元素值为A链表中有而B链表中无的元素值。
要求C表的链点为新开辟的链点,不采用A、B链表中原有链点,最后要求遍历A、B、C三个链表。
数据结构定义
带头结点的单链表结点定义如下:
typedef int DataType;
typedef struct Node
{
DataType data; // data域用于存储数据元素
struct Node *next; // next域用于存放指向其后继的指针
}LNode, *PNode, *LinkList; // LinkList为头指针
函数接口定义:
在这里描述函数接口。例如:
void AdiffB ( LinkList a, LinkList b, LinkList *c );
其中 a
、b
和c
都是用户传入的参数,a
和b
分别为求差集的两个单链表的头指针,而c
为求出来的差集单链表的头指针。