📄 jiaobingcha.txt
字号:
#include <iostream.h>
#include<malloc.h>
#include<stdlib.h>
struct LNode{
int data;
struct LNode *next;
};
void Createlist_l(LNode* &l,int n){
l=(LNode*)malloc(sizeof(LNode));
l->next=NULL;
for(int i=n;i>0;--i){
LNode* p=(LNode*)malloc(sizeof(LNode));
cin>>p->data;
p->next=l->next;
l->next=p;
}
}
void getlist_l(LNode* &l){
LNode* p=l->next;
while(p){
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
void union_l(LNode* &la,LNode* &lb){
LNode* q=la;
LNode* pa=la->next;
LNode* pb=lb->next;
while(pa){
pb=lb->next;
while(pb){
if(pa->data==pb->data) break;
else pb=pb->next;
}
if (pb){
q->next=pa->next;
free(pa);
pa=q->next;
}
else{
q=pa;
pa=pa->next;
}
}
}
void union_2(LNode* &la,LNode* &lb){
LNode* q=lb;
LNode* pa=la->next;
LNode* pb=lb->next;
while(pb){
pa=la->next;
while(pa){
if(pa->data==pb->data) break;
else pa=pa->next;
}
if (pa){
q->next=pb->next;
free(pb);
pb=q->next;
}
else{
q=pb;
pb=pb->next;
}
}
pa=la->next;
while(pa->next)
pa=pa->next;
pa->next=lb->next;
free(lb);
}
void union_3(LNode* &la,LNode* &lb){
LNode* q=lb;
LNode* pa=la->next;
LNode* pb=lb->next;
while(pb){
pa=la->next;
while(pa){
if(pa->data==pb->data) break;
else pa=pa->next;
}
if (pa){
q=pb;
pb=pb->next;
}
else{
q->next=pb->next;
free(pb);
pb=q->next;
}
}
}
void main(){
LNode* la, *lb;
int n;
cout<<"la_length=";
cin>>n;
cout<<"按非递增顺序输入1:";
Createlist_l(la,n);
cout<<"lb_length=";
cin>>n;
cout<<"按非递增顺序输入2:";
Createlist_l(lb,n);
cout<<"\n\n非递减有序线形表la:";getlist_l(la);
cout<<"非递减有序线形表lb:";getlist_l(lb);
cout<<"\n\n";
int i;
cout<<"chose 1:差集 2:并集 3:交集"<<endl;
cin>>i;
switch(i){
case 1: union_l(la,lb);
cout<<"差集:\n";
cout<<" ";
getlist_l(la); break;
case 2: union_2(la,lb);cout<<"并集:\n";
cout<<" ";
getlist_l(la); break;
case 3: union_3(la,lb);cout<<"交集:\n";
cout<<" ";
getlist_l(lb); break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -