📄 202230.cpp
字号:
#include<iostream.h>
typedef int Elemtype;
//构建结构体
typedef struct LNode
{
Elemtype data;
LNode *next;
}*LList ;
//创建链表
void ListCreate(LList &L,int n,Elemtype a[])
{
LList s;
L=new LNode;L->next=NULL;
for(int i=n-1;i>=0;i--)
{
s=new LNode;
s->data=a[i];
s->next=L->next;
L->next=s;
}
}
//除去与B C交集后剩余链表A 中元素
void ListSameOtherBC(LList &A,LList &B,LList &C)
{
LList t, p,q,r,s;
t=A;p=t->next;q=B->next;r=C->next;
while(p&&q&&r)
{
if(p->data>q->data) q=q->next;
if(p->data<q->data) t=p;p=p->next;
while(p->data==q->data)
{
if(r->data<p->data) r=r->next;
if(r->data==p->data)
{
s=p;p=p->next;delete s;
t->next=p;
break;
}
}
}
}
//主函数
void main()
{
LList A,B,C,p;//声明线性表
Elemtype a[]={1,2,3,4,5,6,7};
Elemtype b[]={1,4,7};
Elemtype c[]={2,4,7};
ListCreate( A,7,a);//调用构建函数
ListCreate( B,3,b);
ListCreate( C,3,c);
ListSameOtherBC(A,B,C);//调用函数
cout<<"除去与B C交集后链表A 中元素";
p=A->next ;
while(p)
{
cout<<" "<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -