花之剑'HOME

一朵飘舞在风中的雪花,挣扎着,不想被融化。

链表归并

Posted on 2007-08-01 18:02 花之剑 阅读(274) 评论(0)  编辑  收藏 所属分类: c/c++ & algorithm

#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
 int data;
 struct LNode *next;
}LNode,*Link;


Link  InitalLink(Link L)
{
// printf("hello\n");
 L=(Link) malloc(sizeof(LNode));
 if(!L) printf("error");
 L->next=NULL;
 return L;
}

Link createLink(Link L,int N)
{
 //printf("%d",N);
 Link p=L;
 while(N>0)
 {
   // printf("%d",N);
     Link t=malloc(sizeof(LNode));
            scanf("%d",&t->data);
     t->next=NULL;
     L->next=t;
     L=L->next;
     //t->next=L->next;
     //L->next=t;
     N--;
 }
 return p;
}


 

int main(int argc,char **argv)
{
 printf("please input pa\n");
 int num1,num2;
 scanf("%d,%d",&num1,&num2);
 Link L1,L2;
 L1=InitalLink(L1);
 L2=InitalLink(L2);
 L1=createLink(L1,num1);
 L2=createLink(L2,num2);
 Link L3,L4;
 L3=InitalLink(L3);
 L4=L3;
 L1=L1->next;L2=L2->next;
 while(L1&&L2)
 {
   if(L1->data<L2->data)
    {
   L3->next=L1;L1=L1->next;L3=L3->next;
    }else
    {
   L3->next=L2;L2=L2->next;L3=L3->next;
    }
     }

         L3->next=L1?L1:L2;
    while(L4=L4->next)
 {
  printf("%d",L4->data);
  
 }
 return 0;

}


只有注册用户登录后才能发表评论。


网站导航: