#include"stdio.h"
#include"stdlib.h"
typedef struct lnode
{
int data;
x05struct lnode *next;
}lnode,*linklist;
struct lnode * createlist_la(int n)
{
x05int i;
x05struct lnode *pa,*la,*qa;
x05la=(linklist)malloc(sizeof(lnode));
x05la->next=NULL;
x05qa=la;
x05for(i=n;i>0;i--)
x05{
x05x05pa=(linklist)malloc(sizeof(lnode));
x05x05scanf("%d",&pa->data);
x05x05pa->next=qa->next;
x05x05qa->next=pa;
x05x05qa=pa;
x05}
x05pa=la->next ;
x05while(pa)
x05{
x05x05printf("%3d",pa->data);
x05x05pa=pa->next;
x05}
x05return la;
}
struct lnode * createlist_lb(int m)
{
x05int i;
x05struct lnode *pb,*qb,*lb;
x05lb=(linklist)malloc(sizeof(lnode));
x05lb->next=NULL;
x05qb=lb;
x05for(i=1;idata);
x05x05pb->next=qb->next ;
x05x05qb->next=pb;
x05x05qb=pb;
x05x05
x05}
x05pb=lb->next;
x05while(pb)
x05{
x05x05printf("%3d",pb->data);
x05x05pb=pb->next;
x05}
x05return lb;
}
struct lnode * mergelist_lc(struct lnode *la,struct lnode *lb)
{
x05struct lnode *pc,*pa,*pb,*lc;
x05lc=la;
x05pc=la;
x05pa=la->next;
x05pb=lb->next ;
x05while(pa&&pb)
x05{
x05x05if((pa->data)>(pb->data) )
x05x05{
x05x05x05pc->next =pb;
x05x05x05pc=pb;
x05x05x05pb=pb->next;
x05x05}
x05x05else
x05x05{
x05x05x05pc->next=pa;
x05x05x05pc=pa;
x05x05x05pa=pa->next ;
x05x05}
x05}
x05if(pa==NULL) pc->next =pb;
x05else pc->next =pa;
x05free (lb);
x05pc=lc->next;
x05while(pc)
x05{
x05x05printf("%4d",pc->data );
x05x05pc=pc->next ;
x05}
x05return lc;
}
struct lnode * listdelete_lc(struct lnode *pc3,int y)
{
x05struct lnode *pc4,*pc5;
x05pc4=pc3 ;
x05while(pc4&&((pc4->next->data )!=y))
x05x05pc4=pc4->next ;
x05pc5=pc4->next;
x05pc4->next=pc5->next;
x05free(pc5);
x05pc4=pc3->next ;
x05while(pc4)
x05{
x05x05printf("%3d",pc4->data );
x05x05pc4=pc4->next;
x05}
x05printf("n");
x05return pc3;
}
void main()
{
x05int n,m,y;
x05struct lnode *a,*b,*c,*c1,*c2;
x05printf("请输入A表的数值个数 n:n");
x05scanf("%d",&n);
x05printf("请输入A表的数值:");
x05printf("n");
x05a=createlist_la(n);
x05printf("n");
x05printf("请输入B表的数值个数 m:n");
x05scanf("%d",&m);
x05printf("请输入B表的数值:");
x05printf("n");
x05b=createlist_lb(m);
x05printf("n");
x05c=mergelist_lc(a,b);
x05printf("n");
x05printf("输入将要删除的数 y:");
x05printf("n");
x05scanf("%d",&y);
x05c2=listdelete_lc(c,y);
}