Posted on 2007-08-01 18:02 
花之剑 阅读(288) 
评论(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;
}