给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∪L2的过程 并集
来源:互联网 发布:蓝韵网络 编辑:程序博客网 时间:2024/06/03 18:09
数据结构与算法分析——c语言描述 练习3.5 答案
#include"list.h"#include<stdio.h>List Union(List l1, List l2) {List u = CreatList();Position p1 = First(l1);Position p2 = First(l2);Position resultPos = u;while (p1&&p2) {if (Retrieve(p1) > Retrieve(p2)) {Insert(Retrieve(p2), resultPos);p2 = Advance(p2);resultPos = Advance(resultPos);}else if (Retrieve(p1) < Retrieve(p2)) {Insert(Retrieve(p1), resultPos);p1 = Advance(p1);resultPos = Advance(resultPos);}else {Insert(Retrieve(p1), resultPos);p1 = Advance(p1);p2 = Advance(p2);resultPos = Advance(resultPos);}}while (p1 != NULL) {Insert(Retrieve(p1), resultPos);p1 = Advance(p1);resultPos = Advance(resultPos);}while (p2 != NULL) {Insert(Retrieve(p2), resultPos);p2 = Advance(p2);resultPos = Advance(resultPos);}return u;}void printAll(List l) {Position p = Advance(l);while (p) {printf("%d ", Retrieve(p));p = Advance(p);}}int main() {List l, p;l = CreatList();p = CreatList();for (int i = 39; i >= 0; i-=2)Insert(i, l);for (int i = 20; i >= 0; i -= 2)Insert(i, p);printAll(Union(l, p));}
0 0
- 给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∪L2的过程 并集
- 给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∩L2的过程 交集
- 给定两个排序后的链表L1\L2,仅用基本表操作求链表的交集和并集
- 仅使用基本的表操作实现两个排序后的表L1和L2的并集
- 数据结构与算法分析 c++11 练习3.4 3.5 给定两个已排序的表L1和L2,求交集和并集
- 两个排序后的表L1和L2的交和并
- sklearn 的 Normalizer的L1和 L2
- 关于L1和L2的一些思考
- L1范数和L2范数的区别
- python 线性表L1和L2求并集
- 链表的交错重排L1,Ln,L2,Ln-1 ....
- L1和L2的区别和各自的优势
- <zz>L1, L2 regularization的深层次理解
- CPU的缓存L1,L2,L3
- CPU的缓存L1,L2,L3
- L0, L1, L2 范数的解析
- Volley的缓存策略(L1,L2)
- L1、L2惩罚项降维的原理
- s标签不要嵌套s标签
- Linux 线程实现机制分析
- php正则表达式深入
- 获取系统联系人信息
- 第四周项目 求四个数的最大公约数
- 给定两个已排序的表L1和L2 只使用基本的表操作编写计算L1∪L2的过程 并集
- ASP.NET MVC4 身份认证和授权
- 进制的转换
- Linux(centos7)下查看MySQL的安装路径
- hdu4310(贪心)
- 项目中遇到的问题(一)弹出UIAlertController 时出现 Warning: Attempt to present * on * which is already presenting
- 错误票据 蓝桥杯
- 【LatinIME】默认开启键盘按键声
- 八、Window