博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
归并链表(简单方法)
阅读量:5087 次
发布时间:2019-06-13

本文共 2346 字,大约阅读时间需要 7 分钟。

/*问题描述:A和B是两个单链表(带头结点) 其中元素递增有序,设计一个算法,将A,B归并成一个按元素值非递减有序的链表CC由A,B中的结点构成 */ #include
#include
typedef struct LNode{ int data; struct LNode* next;}LNode,*LinkList; //头插法构建单链表(输出时与创建顺序相反) void init1(LinkList &L){ //一定要给L动态开辟空间,并且让 L->next = NULL; L = (LinkList)malloc(sizeof(LinkList)); L->next = NULL; LinkList s; int x; scanf("%d",&x); while(x!=-1){ s = (LinkList)malloc(sizeof(LinkList)); s->data = x; s->next = L->next; L->next = s; scanf("%d",&x); }} //尾插法构建单链表void init2(LinkList &L){ L = (LinkList)malloc(sizeof(LinkList)); L->next = NULL; LinkList s,r; r = L; int x; scanf("%d",&x); while(x!=-1){ s = (LinkList)malloc(sizeof(LinkList)); s->data = x; r->next = s; r = s; scanf("%d",&x); } s->next = NULL;}void merge(LinkList a,LinkList b,LinkList &c){ LinkList p,q,s,r; p = a->next; q = b->next; c = (LinkList)malloc(sizeof(LinkList)); c->next = NULL; r = c; while(p!=NULL&&q!=NULL){ s = (LinkList)malloc(sizeof(LinkList)); if(p->data
data){ s->data = p->data; printf("=========%d\n",s->data ); r->next = s; r = s; //只动一个指针,切记 p = p->next; }else{ s->data = q->data; printf("++++++++++%d\n",s->data ); r->next = s; r = s; //只动一个指针,切记 q = q->next; } } if(p!=NULL){ s = (LinkList)malloc(sizeof(LinkList)); s->data = p->data; r->next = s; r = s; //只动一个指针,切记 p = p->next; }else{ s = (LinkList)malloc(sizeof(LinkList)); s->data = q->data; r->next = s; r = s; //只动一个指针,切记 q = q->next; } r->next=NULL;} //输出链表中的元素void show(LinkList L){ LinkList p = L->next; while(p){ printf("%d ",p->data); p = p->next; }} int main(){// LinkList L;//// //头插法测试 //// init1(L);//// //尾插法插法测试 //// init2(L);// // show(L); LinkList a,b,c; printf("请输入链表a的元素:"); init2(a); printf("\n"); printf("请输入链表b的元素:"); init2(b); printf("\n"); merge(a,b,c); show(c); return 0;}

 

转载于:https://www.cnblogs.com/nnyst/p/11121067.html

你可能感兴趣的文章
实现最大索引堆
查看>>
Java equals和hashcode 的区别
查看>>
Redis 笔记与总结1 安装部署
查看>>
Web前端面试题集锦
查看>>
Android 通过AIDL在两个APP之间Service通信
查看>>
关于笔试题输入输出的小问题
查看>>
HTTP 错误 404.2 - Not Found
查看>>
对象指针:
查看>>
mako的模板继承语法
查看>>
sublime添加书签
查看>>
打造自己的图表控件3
查看>>
mysql innodb引擎模式的表在服务重启后自动字段值重置为最大自增字段值的问题...
查看>>
18周监考
查看>>
页面打印
查看>>
POJ 1896
查看>>
数组al[0,mid-1] 和 al[mid,num-1],都分别有序。将其merge成有序数组al[0,num-1],要求空间复杂度O(1)...
查看>>
test
查看>>
B. Color the Fence
查看>>
与pandas初相识
查看>>
from __future__ import division
查看>>