zoukankan      html  css  js  c++  java
  • La=LaULb (循环链表)

    #include<stdio.h>
    typedef struct LNode
    {
    	int data;
    	struct LNode *next;
    }LNode,*LinkList;
    void union1(LinkList &La,LinkList &Lb)
    {
    	LinkList qb;
    	LinkList pa=La->next->next;
    	LinkList pb=Lb->next->next;
    	LinkList rc=La->next;
    	while(pa!=La->next&&pb!=Lb->next)
    	{
    		if(pa->data<pb->data)
    		{
    			rc->next=pa;
    			rc=pa;
    			pa=pa->next;
    		}
    		else if(pa->data>pb->data)
    		{
    			rc->next=pb;
    			rc=pb;
    			pb=pb->next;
    		}
    		else
    		{
    			rc->next=pa;
    			rc=pa;
    			pa=pa->next;
    			qb=pb;
    			pb=pb->next;
    			delete qb;
    		}
    	}
    	if(pb==Lb->next)
    		rc->next=pa;
    	else
    	{
    		LinkList t = La->next ;
    		rc->next=pb;
    		pb=Lb->next;
    		Lb->next= t ;
    		La=Lb;
    	}
    	//  该种方法也可以  else{  Lb->next=La->next;rc->next=pb;La=Lb;}
    	delete pb;
    }
    int main()
    {
    	int m,n,i,a[100],b[100];
    	scanf("%d%d",&m,&n);
    	for(i=0;i<m;i++)
    		scanf("%d",&a[i]);
    	for(i=0;i<n;i++)
    		scanf("%d",&b[i]);
    	LinkList p=new LNode;
    	LinkList La=p;
    	for(i=0;i<m;i++)
    	{
    		LinkList s=new LNode;
    		s->data=a[i];
    		La->next=s;
    		La=s;
    		La->next=p;
    	}
    	LinkList q=new LNode;
    	LinkList Lb=q;
    	for(i=0;i<n;i++)
    	{
    		LinkList s=new LNode;
    		s->data=b[i];
    		Lb->next=s;
    		Lb=s;
    		Lb->next=q;
    	}
    	union1(La,Lb);
    	p=La->next->next;
    	while(p!=La->next)
    	{
    		printf("%d ",p->data);
    		p=p->next;
    	}
    	return 0;
    }

  • 相关阅读:
    面试
    vue axios 应用
    3D全景之ThreeJs
    css垂直居中
    事件处理过程中遇到的问题
    文字溢出
    jquery: 偏移量计算
    jquery: sand picture
    jquery: update carousel logic & animate
    jquery: carousel arrow click
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4237348.html
Copyright © 2011-2022 走看看