数据结构假设分别以两个元素的值递增有序线性表a,b表示两个集合,现在要构成一个新的线性表c,c表示a b的交,且c中的元

1个回答

  • #include

    using namespace std;

    struct Node

    {

    int data;

    Node *next;

    };

    class LinkList

    {

    public:

    Node * intLinkList(int a[],int n)

    {

    first=new Node;

    first->next=NULL;

    for(int i=(n-1);i>=0;i--)

    {

    Node *s;

    s=new Node;

    s->data=a[i];

    s->next=first->next;

    first->next=s;

    }

    x05 return first;

    }

    void PrintList()

    {

    Node *p;

    p=first->next;

    while(p)

    {

    coutnext;

    while(p && q)

    {

    if(p->datadata)

    {

    A->next=p->next;

    p=p->next;

    }

    else if(p->data>q->data) q=q->next;

    else{

    p=p->next;

    q=q->next;

    }

    }

    }

    void Bingji(Node *A,Node *B)

    {

    Node *p,*q,*r;

    p=A->next; q=B->next;

    while(p&&q)

    {

    if(p->datadata){ r=p; p=p->next;}

    else if(p->data>q->data)

    {

    B->next=q->next;

    q->next=p;

    r->next=q;

    q=B;

    }

    else if(p->data=q->data){

    x05x05x05 r=p;

    p=p->next;

    q=q->next;

    }

    x05x05

    }

    r->next=q;

    }

    void Chaji(Node *A,Node *B)

    {

    Node *p,*q;

    p=A->next; q=B->next;

    while(p &&q)

    {

    Node *r;

    if(p->datadata)

    {

    r=p;

    p=p->next;

    }

    else if(p->data>q->data) q=q->next;

    else{

    Node *s;

    s=p;

    r->next=p->next;

    p=r->next;

    delete s;

    }

    }

    }

    void main()

    {

    x05cout