链式合并(尾插入,前提是输入2个从小到大的链表)
来源:互联网 发布:德州淘宝招聘信息 编辑:程序博客网 时间:2024/06/03 16:59
#include <stdio.h> #include <stdlib.h> #define LIST_INIT_SIZE 100 #define LISTINCREMENT 10 #define ok 1 #define overflow -2 typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; LNode *create_LinkList(void) { int data; LNode *head,*p,*q; head=p=(LNode *)malloc(sizeof(LNode)); p->next=NULL; while(1) { scanf("%d",&data); if(data==0) break; q=(LNode *)malloc(sizeof(LNode)); q->data=data; q->next=p->next; p->next=q; p=q; } return(head); } void PrintLinkList(LNode *head) { LNode *p; p=head->next; if(p!=NULL) do { printf("%d",p->data); p=p->next; } while(p!=NULL); } LinkList MergeList_L(LinkList &la,LinkList &lb,LinkList &lc){LinkList pa,pb,pc;pa=la->next; pb=lb->next;lc=pc=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);return lc;}void main() { LinkList la,lb,lc; la=create_LinkList(); lb=create_LinkList(); MergeList_L(la,lb,lc); PrintLinkList(lc);}
这些合并都是需要认为的输入2个递增的链表,如果没有,就用冒泡什么的再排序。头插入和尾插入不一样的!
0 0
- 链式合并(尾插入,前提是输入2个从小到大的链表)
- 单链表合并2个已经按照该整数从小到大排好序的链表,合并后链表也是排好序的
- 【C语言】从小到大插入新节点(链式物理结构)
- 编程分别输入两个按从小到大排序的数组a和b,将这两个有序数组合并,使合并后的数组仍有序 (从小到大)
- 链式有序表的合并
- 链式有序表的合并
- 线性表的输入输出查找删除插入(链式,尾插入)
- 算法(时间复杂度为O(nlgk)的k有序链(从小到大)表合并为一个有序链表
- 链表操作:按值的顺序从小到大, 合并两个链表
- 插入从小到大的整型数组
- 链式表的非递减数列合并
- 《数据结构》链式有序表的合并
- 输入4个数字从小到大输出(c++)
- 2个有序链表的合并
- 输入10 个数字,按各个位上的和从小到大排序,如果相同,则按数字从小到大排序。
- 链式有序表合并
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- 已知m和n是已经排序好的数组,从小到大,现在要合并这两个数组内的数到一个数组,仍然要求是从小到大排序
- dlut1216-位运算(异或)水题
- 一个简单关于学生成绩管理的C++程序代码,但是对于拷贝析构函数目前还是不知其作用何在
- Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台
- 图像Haar小波变换
- Altera器件型号指南
- 链式合并(尾插入,前提是输入2个从小到大的链表)
- Visual Studio Ultimate 2012 静态激活密钥
- 正则表达式第二章
- MyEclipse10使用Apache Tomcat 7
- eclipse maven3 安装
- 浅谈HTTP中Get和Post的区别
- Fruit Ninja(水果忍者)游戏源代码下载、分析(下)---可运行Android,Ios,Window,Mac,Html5平台
- 华为机试2014实习生
- 3月29日阿里巴巴实习生笔试题