请求高手指教,这是一道用线性表的顺序表示和实现的C语言程序题: 已知,集合A=(3,5);B=(2,6,8)集合A

 我来答
方青木
2011-09-30 · TA获得超过1836个赞
知道小有建树答主
回答量:368
采纳率:100%
帮助的人:140万
展开全部
#include"stdio.h"
#include"stdlib.h"
typedef struct lnode
{
int data;
struct lnode *next;
}lnode,*linklist;
struct lnode * createlist_la(int n)
{
int i;
struct lnode *pa,*la,*qa;
la=(linklist)malloc(sizeof(lnode));
la->next=NULL;
qa=la;
for(i=n;i>0;i--)
{
pa=(linklist)malloc(sizeof(lnode));
scanf("%d",&pa->data);
pa->next=qa->next;
qa->next=pa;
qa=pa;
}
pa=la->next ;
while(pa)
{
printf("%3d",pa->data);
pa=pa->next;
}
return la;
}

struct lnode * createlist_lb(int m)
{
int i;
struct lnode *pb,*qb,*lb;
lb=(linklist)malloc(sizeof(lnode));
lb->next=NULL;
qb=lb;
for(i=1;i<=m;i++)
{
pb=(linklist)malloc(sizeof(lnode));
scanf("%d",&pb->data);
pb->next=qb->next ;
qb->next=pb;
qb=pb;

}
pb=lb->next;
while(pb)
{
printf("%3d",pb->data);
pb=pb->next;
}
return lb;
}

struct lnode * mergelist_lc(struct lnode *la,struct lnode *lb)
{
struct lnode *pc,*pa,*pb,*lc;
lc=la;
pc=la;
pa=la->next;
pb=lb->next ;
while(pa&&pb)
{
if((pa->data)>(pb->data) )
{
pc->next =pb;
pc=pb;
pb=pb->next;
}
else
{
pc->next=pa;
pc=pa;
pa=pa->next ;
}
}
if(pa==NULL) pc->next =pb;
else pc->next =pa;
free (lb);
pc=lc->next;
while(pc)
{
printf("%4d",pc->data );
pc=pc->next ;
}
return lc;
}

struct lnode * listdelete_lc(struct lnode *pc3,int y)
{
struct lnode *pc4,*pc5;
pc4=pc3 ;
while(pc4&&((pc4->next->data )!=y))
pc4=pc4->next ;
pc5=pc4->next;
pc4->next=pc5->next;
free(pc5);
pc4=pc3->next ;
while(pc4)
{
printf("%3d",pc4->data );
pc4=pc4->next;
}
printf("\n");
return pc3;
}

void main()
{
int n,m,y;
struct lnode *a,*b,*c,*c1,*c2;
printf("请输入A表的数值个数 n:\n");
scanf("%d",&n);
printf("请输入A表的数值:");
printf("\n");
a=createlist_la(n);
printf("\n");
printf("请输入B表的数值个数 m:\n");
scanf("%d",&m);
printf("请输入B表的数值:");
printf("\n");
b=createlist_lb(m);
printf("\n");
c=mergelist_lc(a,b);
printf("\n");
printf("输入将要删除的数 y:");
printf("\n");
scanf("%d",&y);
c2=listdelete_lc(c,y);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HiLittleGirl
2011-10-01 · TA获得超过192个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:243万
展开全部
实在没看懂你想要实现什么东东
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式