c语言两个线性表la lb,归并两个线性表巳知线性表LA和线性表LB中的数据元素按值非递减有 爱问知识人...

#include

#include

//节点结构

struct LinkList

{

int data;

struct LinkList * next;

};

void main()

{

int a[8]={1,3,4,7,7,8,34,45};

int b[9]={1,2,4,7,9,12,33,43,56};

LinkList *pa=NULL;

LinkList *pb=NULL;

LinkList *pc=NULL;

LinkList *la=NULL;//la,lb,lc保存链表首地址

LinkList *lb=NULL;

LinkList *lc=NULL;

// 初始化单链表

for(int i=7;i>=0;i--)

{

pa=(LinkList *) malloc(sizeof(struct LinkList));

pa->data=a[i];

pa->next=la;

la=pa;

}

for(int j=8;j>=0;j--)

{

pb=(LinkList *) malloc(sizeof(struct LinkList));

pb->data=b[j];

pb->next = lb;

lb=pb;

}

lc=pc=(LinkList *) malloc(sizeof(struct LinkList));//LC指向单链表的头节点

//递增排序

while(pa && pb)

{

if( (pa->data) data) )

{

pc->next=pa;

pc=pc->next;

pa=pa->next;

}

else

{

pc->next=pb;

pc=pc->next;

pb=pb->next;

}

}

if(pa)

{

pc->next=pa;

}

if(pb)

{

pc->next=pb;

}

pc=lc->next;

while(pc)

{

printf("%d",*pc);

pc=pc->next;

}

printf("

");

}

以上为一个我在VC6。

0上调试通过的完整程序。新的线性表LC由LA和LB的节点连接而成。

全部

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值