7-1 两个有序链表序列的合并(20 分)
来源:互联网 发布:网络歌曲免费下载 编辑:程序博客网 时间:2024/04/30 05:04
7-1 两个有序链表序列的合并(20 分)
已知两个非降序链表序列S1与S2,设计函数构造出S1与S2的并集新非降序链表S3。
输入格式:
输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。
输出格式:
在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL
。
输入样例:
1 3 5 -12 4 6 8 10 -1
输出样例:
1 2 3 4 5 6 8 10
#include<bits/stdc++.h>using namespace std;#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}LNode,*LinkList;Status CreatList(LinkList &L){ L=(LNode*)malloc(sizeof(LNode)); if(!L) exit(OVERFLOW); L->next=NULL; return OK;}Status ListInsert(LinkList &L,ElemType e){ LNode *tmp,*cur=L; tmp=(LNode*)malloc(sizeof(LNode)); if(!tmp) exit(OVERFLOW); tmp->data=e; tmp->next=NULL; while(cur->next){ cur=cur->next; } cur->next=tmp; //printf("%d....\n",cur->next->data); return OK;}Status combine(LinkList L1,LinkList L2,LinkList &L){ LNode *l1,*l2,*tmp=L,*cur=L; l1=L1->next; l2=L2->next; while(l1&&l2){ if(l1->data<l2->data){ tmp=(LNode*)malloc(sizeof(LNode)); if(!tmp) exit(OVERFLOW); tmp->data=l1->data; tmp->next=NULL; cur->next=tmp; cur=tmp; l1=l1->next; } else{ tmp=(LNode*)malloc(sizeof(LNode)); if(!tmp) exit(OVERFLOW); tmp->data=l2->data; tmp->next=NULL; cur->next=tmp; cur=tmp; l2=l2->next; } } if(l1) cur->next=l1; else if(l2) cur->next=l2; return OK;}void Print_L(LinkList L){ L=L->next; int k=0; while(L){ if(k==0) printf("%d",L->data); else printf(" %d",L->data); k++; L=L->next; } printf("\n");}int main(){ LNode *L1,*L2,*L; CreatList(L1); CreatList(L2); CreatList(L); int m,n; while(scanf("%d",&m)&&m>=0){ ListInsert(L1,m); } //Print_L(L1); while(scanf("%d",&n)&&n>=0){ ListInsert(L2,n); } //Print_L(L2); combine(L1,L2,L); Print_L(L);}
阅读全文
0 0
- 两个有序链表序列的合并(20 分)
- 7-1 两个有序链表序列的合并(20 分)
- 7-1 两个有序链表序列的合并(20 分)
- 7-15 两个有序链表序列的合并(20 分)
- 5-51 两个有序链表序列的合并(20分)
- pta5-51 两个有序链表序列的合并(20分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- [PTA] 线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 7-1 两个有序链表序列的合并
- 7-1 两个有序链表序列的合并
- 7-1 两个有序链表序列的合并
- 7-1 两个有序链表序列的合并
- 两个有序链表序列的交集(20 分)
- 5-51 两个有序链表序列的合并 (20分)
- 5-51 两个有序链表序列的合并 (20分)
- ffmpeg推荐tutorial---dranger函数框架图
- 【数据库】4函数
- 13_Spring_aspectj的aop其他操作
- 如何理解卷积
- 06.开源项目--git忽略文件
- 7-1 两个有序链表序列的合并(20 分)
- linq基础
- [架构师之路] 细聊分布式ID生成方法 2016-02-22
- 给迷茫的JAVA员一些中肯建议,不然你就废了,快速成为架构师
- JS判断客户端是否是iOS或者Android手机移动端
- 从URL输入到页面展现发生了什么...
- lnmp平台的简单基础搭建
- java加载properties配置文件的几种方法
- Maven邮件发送服务