王道2.15

//已知两个链表A和B分别表示两个集合,其元素递增排列。

#include <iostream>

#include <stdlib.h>

#include <stdio.h>

using namespace std;

typedef struct Lnode{

    int data;

    struct Lnode *next;

}Lnode,*LinkList;

void init_LinkList(LinkList &head){

    int x;

    head = (LinkList)malloc(sizeof(Lnode));

    head->next= NULL;

    Lnode *p,*r = head;

    cout<<"请输入数字(-1结束):";

    cin>>x;

    while(x != -1){

        p = (Lnode*)malloc(sizeof(Lnode));

        p->next = r->next;

        p->data = x;

        r->next = p;

        r= p;

        cout<<"请输入数字(-1结束):";

        cin>>x;

       }

   } //编制函数,求A与B的交集,并存放于A链表中。

void create_unity(LinkList &L1,LinkList L2){

    Lnode *p = L1,*p1 = L1->next,*p2= L2->next,*temp;

    while(p1!=NULL&&p2!=NULL){

        if(p1->data>p2->data){

                p2 = p2->next;

        }else if(p1->data < p2->data){

            temp = p1;

            p1 = p1->next;

            p->next = p1;

            free(temp);

         }else{

            p->next = p1;

            p = p1;

            p1 = p1->next;

            p2 = p2->next;

            }

        }

        p->next = NULL;

}

int main(){

    LinkList L1,L2;

    init_LinkList(L1);

    init_LinkList(L2);

    Lnode *p; p = L1->next;

    while(p != NULL){

        cout<<p->data<<" ";

        p = p->next;

      }

    cout<<endl;

    p = L2->next;

    while(p != NULL){

        cout<<p->data<<" ";

        p = p->next;

    }

    cout<<endl;

    create_unity(L1,L2);

    p = L1->next;

    while(p != NULL){

        cout<<p->data<<" ";

        p = p->next;

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • include<iostream> using namespace std; //单链表 typedef stru...
    jmychou阅读 3,251评论 0 0
  • C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程...
    小辰带你看世界阅读 12,721评论 1 6
  • 【实验目的】 在多道程序或者任务系统中,系统同时处于就绪状态的进程有若干个。也就是说能运行的进程数远远大于处理机个...
    吃茶的武士阅读 3,911评论 0 0
  • 邻居有个5岁女孩的爸爸问我:“我这两天有空,陪孩子玩了一下,可是没陪多久,要么她不高兴,要么我发脾气,这是怎么回事...
    黄休阅读 3,122评论 0 3
  • 刚进大学时我说我们要把大学生活过的轰轰烈烈一些,不要让以后的自己后悔大学太碌碌无为。 听了我的话,正在玩着...
    old欧阅读 3,093评论 0 0