02-线性结构1 两个有序链表序列的合并【链表】
来源:互联网 发布:mac 快捷键设置没有用 编辑:程序博客网 时间:2024/06/04 19:43
题目:02-线性结构1 两个有序链表序列的合并
题意:将俩个递增链表合并成非递减链表,注意提交代码时只需提交合并函数!
思路:就是最基本的链表操作。。。
代码:
#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct Node* PtrToNode;struct Node { ElementType Data; PtrToNode Next;};typedef PtrToNode List;List Read(); /* 细节在此不表 */void Print( List L ); /* 细节在此不表;空链表将输出NULL */List Merge( List L1, List L2 );int main(){ List L1, L2, L; L1 = Read(); L2 = Read(); L = Merge(L1, L2); Print(L); Print(L1); Print(L2); return 0;}List Read(){ int n,i,fig; List Head,r,s; Head = (List)malloc(sizeof(List)); r = Head; //Head = r; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&fig); s = (List)malloc(sizeof(List)); s->Data = fig; r->Next = s; r = s; } r->Next = NULL; return Head;}void Print( List L ){ List t = NULL; t = (List)malloc(sizeof(List)); L = L->Next; if(L == NULL) {printf("NULL\n");return;} while(L != NULL){ printf("%d ",L->Data); L = L->Next; }printf("\n"); L = t;}List Merge( List L1, List L2 ){ List L,p,t,tL1,tL2; L = (List)malloc(sizeof(List)); p = L; tL1 = L1->Next;tL2 = L2->Next; while(tL1 != NULL || tL2 != NULL){ t = (List)malloc(sizeof(List)); if(tL2 == NULL || tL1 != NULL && tL1->Data <= tL2->Data){ t->Data = tL1->Data; p ->Next = t; p = t; tL1 = tL1->Next; } else{ t->Data = tL2->Data; p->Next = t; p = t; tL2 = tL2->Next; } } p->Next = NULL; L1->Next = NULL;//将链表头结点断开 L2->Next = NULL; return L;}
0 0
- 线性结构 1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并【链表】
- 02-线性结构1 两个有序链表序列的合并 (15分)
- [PAT] 02-线性结构1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并
- PTA 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- [数据结构]02-线性结构1 两个有序链表序列的合并
- 02-线性结构1两个有序链表序列的合并
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- gson-typeadapter
- ARM Linux 3.x的设备树(Device Tree)
- 杭电--1018 Big Number
- 2016年5月-软件创新大赛项目
- Python--help方法
- 02-线性结构1 两个有序链表序列的合并【链表】
- Android打造自己的网络框架----Rxlifecycle的使用
- LeetCode 91. Decode Ways
- EventBus3官方文档翻译(二)
- 合并单向有序列表
- JavaMail
- 简单谈谈实现递归暴力枚举
- javascript中间凸显滚动圆圈特效demo
- C语言最大公约数三种算法