合并两个链表
2016-03-05 09:14
260 查看
#include<stdio.h> #include<stdlib.h> #define N 5 #define NULL 0 typedef struct LNode { struct LNode *next; int data; }LNode,*list; void creatList(list &l,int n) { list p,q; int i; l=(list)malloc(sizeof(LNode)); p=l; //头节点 for(i=0;i<n;i++) { q=(list)malloc(sizeof(LNode)); scanf("%d",&q->data); p->next=q; p=q; } p->next=NULL; } void mergeList(list &la,list &lb,list &lc) { list pa,pb,pc; pa=la->next; pb=lb->next; pc=lc=la; while(pa&&pb) { if(pa->data<=pb->data) { pc->next=pa;pc=pa; pa=pa->next; } else { pc->next=pb;pc=pb; pb=pb->next; } } pc->next=pa?pa:pb; free(lb); } void print(list la) { list p; p=la->next; while(p) { printf("%d ",p->data); p=p->next; } } int main() { list la,lb,lc; printf("create two lists contain %d elements\n",N); creatList(la,N); creatList(lb,N); mergeList(la,lb,lc); print(lc); }
相关文章推荐
- 跨浏览器resize事件分析
- NSData与UIImage之间的相互转换
- 关系型数据库-- 设计三大范式
- EasyUi的基础学习和总结
- 配置 Log4j 日志
- Overview of Batch Management
- 随机生成10条不重复长度为10以内的字符串,进行排序
- VC++调用C#生成DLL的两种方法!
- 认识Qter
- hdu2512一卡通大冒险(集合的划分问题)
- android开发之路04(初级android工程师必会,你懂得!)
- SQL Server代码如何快速格式化
- Asmcmd 详解
- Android调用拍照和本地相册并上传给服务器
- SAP 库存关联表信息
- Android中Loader及LoaderManager的使用
- ngRoute 和 ui.router 的使用方法和区别
- GDI 字体 设备上下文 绘图
- Linux find命令实例解析
- Java 面向对象