02-线性结构1 两个有序链表序列的合并(15 分)
来源:互联网 发布:乎的用法 编辑:程序博客网 时间:2024/04/30 06:08
本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。
函数接口定义:
List Merge( List L1, List L2 );
其中List结构定义如下:
typedef struct Node *PtrToNode;
struct Node {
ElementType Data; /* 存储结点数据 */
PtrToNode Next; /* 指向下一个结点的指针 */
};
typedef PtrToNode List; /* 定义单链表类型 */
L1和L2是给定的带头结点的单链表,其结点存储的数据是递增有序的;函数Merge要将L1和L2合并为一个非递减的整数序列。应直接使用原序列中的结点,返回归并后的链表头指针。
裁判测试程序样例:
include
include
List Merge(List head1,List head2) //ºÏ²¢º¯Êý { List p,q,r; //·Ö±ð¶¨ÒåÈý¸ö¹¤×÷Ö¸Õë p = head1 -> Next; //¹¤×÷Ö¸ÕëÖ¸Ïò¿ªÊ¼½áµã q = head2 -> Next; List L = (List)malloc(sizeof(struct Node)); //´´½¨Ò»¸ö¿ÕÁ´±í L->Next = NULL; r = L; while(p && q) { if(p->Data <= q->Data) { r -> Next = p; r = p; p = p -> Next; } else { r -> Next = q; r = q; q = q -> Next; } } r -> Next = p ? p : q; head1->Next = NULL; head2->Next = NULL; return L;}
阅读全文
0 0
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- PTA 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- [PTA] 线性结构1 两个有序链表序列的合并(15 分)
- 02-线性结构1 两个有序链表序列的合并 (15分) (单向链表)
- PAT数据结构_02-线性结构1 两个有序链表序列的合并 (15分)
- 02-线性结构1 两个有序链表序列的合并 (15分)
- Jzoj4891 摆书
- zTree--一个小小的例子
- CANoe的CAPL编程基础(3)
- JDBC—总结(1)
- 网上商城—在线支付
- 02-线性结构1 两个有序链表序列的合并(15 分)
- mysql之InnoDB存储引擎(1)——InnoDB存储引擎体系
- 新建的类对象,在重写equals方法后为什么要重写hashcode方法?
- flexbox 剩余空间分配规则
- HDU 1166 敌兵布阵
- SpringBoot源码解析之Config
- JavaScript同步、异步、回调执行顺序之经典闭包(setTimeout面试题分析)
- 质数判断程序
- Unity_Lua_VS环境下入门操作