key03_7.cpp

来自「该包是数据结构的实验软件,来源于合肥工业大学人工智能与数据挖掘实验室,用来实现数」· C++ 代码 · 共 79 行

CPP
79
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?