- 1
- 0
- 约9.57千字
- 约 9页
- 2016-12-13 发布于湖南
- 举报
#includeiostream.h
class Node {
friend class LinkList;
int data;
Node *link;
public:
Node(){link=NULL;}
};
class LinkList { //链表
Node *head; //头指针
public:
LinkList( ) { head=new Node(); }
void Create( );
void print();
void Union(LinkList list1,LinkList list2);
void Intersection(LinkList list1,LinkList list2);
};
void LinkList::Create()
{
int flag=0;
Node *p,*s,*q;
p=new Node;
cinp-data;
while(p-data!=0)
{
do
{
flag=0;
q=head-link;
while(q) //剔除重复数据
{
if(q-data==p-data)
{
flag=1;
break;
}
else
q=q-link;
}
if(flag==1)
{
cout您输入的值已经存在!endl;
cinp-data;
}else if(flag==0)
break;
}while(flag!=0);
if(p-data==0)
break;
p-link=head-link;
head-link=p;
p=new Node;
cinp-data; //建立链表
}
}
void LinkList::print()
{
Node *p;
p=head-link;
if(head-link==NULL)
cout集合为空!endl;
while(p!=NULL)
{
coutp-data ;
p=p-link;
}
coutendl;
}
void LinkList::Union(LinkList list1,LinkList list2)
{
Node *p;
Node *s;
p=list1.head-link;
while(p!=NULL)
{
s=new Node;
s-data=p-data;
s-link=head-link;
head-link=s;
p=p-link;
}
Node *head2=list2.head;
Node *q=head2-link;
int flag;
while(q!=NULL)
{
flag=0;
p=head-link;
while(p!=NULL)
{
if(p-data==q-data)
{
flag=1;
break;
}
p=p-link;
}
if(flag==0)
{
s=new Node;
s-data=q-data;
s-link=head-link;
head-link=s;
}
q=q-link;
}
}
void LinkList::Intersection(LinkList list1,LinkList list2)
{
Node *head1=list1.head;
Node *head2=list2.head;
Node *q=head2-link;
Node *p;
Node *s;
int flag;
while(q!=NULL)
{
flag=0;
p=head1-link;
while(p!=NULL)
{
if(p-data==q-data)
{
s=new Node;
s-data=p-data;
s-link=head-link;
head-link=s;
}
p=p-link;
}
q=q-link;
}
}
void main()
{
LinkList list1;
LinkList list2;
LinkList list3;
LinkList list4;
coutThe first list:endl;
list1.Crea
原创力文档

文档评论(0)