zoukankan      html  css  js  c++  java
  • SDUTACM 2053整理音乐

     

    题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2053

    应用:创建单链表,合并单链表,打印单链表

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef struct node
    {
         int data;
         char name [200];
         struct node *next;
    }LinkList;
    
    LinkList *creat(int n)
    {
         LinkList *head,*p,*tail;
         int i;
         head=(LinkList *)malloc(sizeof(LinkList));
         head->next=NULL;
         tail=head;
         for(i=0;i<n;i++)
         {
             p=(LinkList *)malloc(sizeof(LinkList));
             scanf("%s",&p->name);
             scanf("%d",&p->data);
             p->next=NULL;
             tail->next=p;
             tail=p;
         }
         return head;
     
    }
    
    void displayall(LinkList *L)
    {
    
    	LinkList *p;
    	p=L->next;
    	while(p!=NULL)
    	{
    		if(p->next!=NULL) printf("%s ",p->name);
    		else printf("%s\n",p->name);
    		p=p->next;
    	}
    
    }
    
    LinkList *merge(LinkList *L1,LinkList *L2)
    {
         LinkList *p,*q,*tail;
         p=L1->next;
         q=L2->next;
         tail=L1;
         while(p&&q)
     
             if(p->data<q->data)
             {
                 tail->next=q;
                 tail=q;
                 q=q->next;
             }
             else if(p->data==q->data && strcmp(p->name,q->name)>0)
             {
                 tail->next=q;
                 tail=q;
                 q=q->next;
             }
             else
             {
                 tail->next=p;
                 tail=p;
                 p=p->next;
             }
             if(p)  tail->next=p;
             else  tail->next=q;
             return L1;
     }
    
     int main()
     {
         int n,m;
         scanf("%d",&m);
         LinkList *L1,*L2,*L;
         scanf("%d\n",&n);
         L1=creat(n);
         m--;
         while(m--)
         {
             scanf("%d\n",&n);
             L2=creat(n);
             L=merge(L1,L2);
         }
         displayall(L);
         return 0;
     }
    

      

  • 相关阅读:
    navicat for mysql (本人亲测,真实有效)
    python 8 days
    python 19 days
    python 20 days
    python 21 days
    python 10 days
    python 9 days
    python 14 days
    python 15 days
    python 16 days
  • 原文地址:https://www.cnblogs.com/liuzezhuang/p/2618950.html
Copyright © 2011-2022 走看看