数据结构实验之链表四:有序链表的归并
来源:互联网 发布:mac系统偏好设置 红点 编辑:程序博客网 时间:2024/06/07 19:39
Problem Description
Input
第二行依次输入M个有序的整数;
第三行依次输入N个有序的整数。
Output
Example Input
6 51 23 26 45 66 9914 21 28 50 100
Example Output
1 14 21 23 26 28 45 50 66 99 100
#include<stdio.h>#include<stdlib.h>struct node{ int num; struct node *next;};struct node * create(int n){ struct node *head,*tail,*p; head=(struct node *) malloc (sizeof(struct node )); head->next=NULL; tail=head; while(n--) { p=(struct node *) malloc (sizeof(struct node )); scanf("%d",&p->num); tail->next=p; p->next=NULL; tail=p; } return (head);}struct node * merge (struct node *head1, struct node*head2){ struct node *tail, *p, *q; p=head1->next; q=head2->next; head1->next=NULL; tail=head1; free(head2); while(p&&q) { if(p->num<q->num) { tail->next=p; tail=p; p=p->next; tail->next=NULL; } else { tail->next=q; tail=q; q=q->next; tail->next=NULL; } } if(p) { tail->next=p; } else { tail->next=q; } return head1;}void show(struct node *head){ struct node *p; p=head->next; while(p->next!=NULL) { printf("%d ",p->num); p=p->next; } printf("%d",p->num);}int main(){ int n,m; struct node *head1,*head2; scanf("%d%d",&n,&m); head1=create(n); head2=create(m); head1=merge(head1,head2); show(head1); return ;}
- 2119 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 【2119】数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表四:有序链表的归并
- 数据结构实验之链表三:链表的逆置
- MySQL学习之:通信协议
- HDU2571 命运(简单DP)
- 我的世界
- maven 阿里云镜像
- 数据结构实验之链表四:有序链表的归并
- Android系统架构
- 设计模式之1 - 抽象工厂Abstract Factory
- Excel2013打开提示 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
- 电路为什么要有触发器这种结构?
- Android从零开搞系列:动画系列(2)属性动画
- MyEclipse安装svn插件
- ioremap
- 设计模式之2 - 建造模式Builder