2023年将两个链表合并成一个链表方法一(精选文档).docx
-
资源ID:80911794
资源大小:11.46KB
全文页数:5页
- 资源格式: DOCX
下载积分:9.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2023年将两个链表合并成一个链表方法一(精选文档).docx
2023年将两个链表合并成一个链表方法一(精选文档)下面是我为大家整理的将两个链表合并成一个链表方法一(精选文档),供大家参考。/* 链表的操作 1) 定义链表的结构;2) 写函数创建链表;3) 输入两个正数链表, 连接成一个非递减链表(用借助辅助链表的方法)。*/#include<stdio.h># include <stdio.h> # include <malloc.h> # define null 0 typedef struct LNodeint data;struct LNode *next; LNode,*linklist; linklistcreatlist ()LNode *p,*L; L=(LNode *)malloc(sizeof(LNode); L->next=null;L->data=0; while(1) p=(LNode *)malloc(sizeof(LNode); scanf(%d,p->data); if(p->data=-1) break; +L->data; p->next=L->next; L->next=p; return L; voidoutput(linklist L) LNode *p; printf(the follow is the Linklist data:n); for(p=L->next;p!=null;p=p->next)printf(%3d,p->data); printf(n the data is over.n) ; linklist sort(linklist L)int i;linklist p,q,r,s;r=(linklist)malloc(sizeof(LNode);r->next=null;for(i=0;i<L->data;i+) p=L->next; q=L->next->next; doif(p->data)>(q->data)q=q->next; elsep=q;q=q->next; while(q); s=(linklist)malloc(sizeof(LNode); s->data=p->data;p->data=0; s->next=r->next; r->next=s; return r; linklist Merglist(linklist L1,linklist L2,linklist L3) linklist p1,p2,p3;p1=L1->next;p2=L2->next;L3=p3=L1;while(p1p2) if(p1->data<=p2->data)p3->next=p1;p3=p1;p1=p1->next; else p3->next=p2;p3=p2;p2=p2->next;p3->next=p1?p1:p2;free(L2);return L3;main() linklist Lb;linklist La,Lc;La=creatlist();Lb=creatlist();La=sort(La);Lb=sort(Lb);output(La);output(Lb);Lc=Merglist(La,Lb,Lc);output(Lc);getch();