📄 key03_7.cpp
字号:
// Test03_7
#include "linklist.h"
void Interset(link &l1,link &l2,link &l3)
{
link p,q,r,s;
l3=(link)malloc(sizeof(struct node));
r=l3;
p=l1->next;
q=l2->next;
while ((p!=NULL) && (q!=NULL))
if (p->data<q->data)
p=p->next;
else
if (p->data>q->data)
q=q->next;
else{
s=(link)malloc(sizeof(struct node));
s->data=p->data;
r->next=s;
r=s;
p=p->next;
q=q->next;
}
r->next=NULL;
}
void Union(link &l1,link &l2,link &l3)
{
link p,q,r,s;
l3=(link)malloc(sizeof(struct node));
r=l3;
p=l1->next;
q=l2->next;
while ((p!=NULL) && (q!=NULL)){
if (p->data<q->data){
s=(link)malloc(sizeof(struct node));
s->data=p->data;
p=p->next;
}else
if (p->data>q->data){
s=(link)malloc(sizeof(struct node));
s->data=q->data;
q=q->next;
}else{
s=(link)malloc(sizeof(struct node));
s->data=p->data;
p=p->next;
q=q->next;
}
r->next=s;
r=s;
}
if (p==NULL) p=q;
while (p!=NULL){
s=(link)malloc(sizeof(struct node));
s->data=p->data;
r->next=s;
r=s;
p=p->next;
}
r->next=NULL;
}
void main()
{
link l1,l2,l3,l4;
create_hsllist(l1);
get_hsllist(l1); //for disp
create_hsllist(l2);
get_hsllist(l2); //for disp
Interset(l1,l2,l3);
get_hsllist(l3); //for disp
Wait();
Union(l1,l2,l4);
get_hsllist(l4); //for disp
Wait();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -