链表--已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。
来源:互联网 发布:我的恐怖妻子 知乎 编辑:程序博客网 时间:2024/06/05 16:29
已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。
链表结点的结构类型定义如下:
struct node { int elem; node* next; };
思路:
遍历A的每一个结点,通过A来遍历B中的每一个结点。
当pa为空时结束总循环。
如果此时pa所指的结点与pb所指的结点元素相同,或者pb为空时跳出内循环。
如果此时pb存在,则说明找到了,这时候就要删除。
如果pb此时指向空了,则pa要向后走一步。
void difference(node** LA,node* LB){ if(LA == NULL || *LA == NULL || LB == NULL) return ; node* pa = *LA; node* pb = *LB; node* del = NULL; node* pre = NULL; //退出循环两个条件,pa为空 while(pa) { //pb每一次都要从头开始找 pb = LB; while(pb && pb -> elem != pa -> elem) pb = pb -> next; //如果这里pb还存在也就是说满足pa,pb两个值相同 if(pb) { //如果pre为空 if(pre == NULL) *LA = pa -> next; else pre -> next = pa -> next; del = pa; pa = pa -> next; free(del); } else { pre = pa; pa = pa -> next; } }}
阅读全文
0 0
- 链表--已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。
- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中
- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。
- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中
- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。
- 已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={
- 求差集:已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集
- 已知集合A和B的元素分别用不含头结点的单链表存储, 求解集合A与B的差集,并将结果保存在集合A的单链表中
- 已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A和B的差集(即仅由在A中出现而不在B中出现的元素所构成的集合),并以同样的形式存储,同时返回该集合的元素个数。
- 求解集合A和集合B的差集
- 求解集合A与B的差集
- 求解集合A与B的差集
- 集合A与B的差集
- [经典面试题]求解集合A与B的差集
- 求集合{a}+集合{b}的并集
- 链表A,B分别有序,打印出属于A,不属于的B的元素保存在A中。
- 创建集合A,集合B。求表达式(A-B)U(B-A)的值。
- HLG 1710 给出三个集合a,b,c,统计集合a元素+集合b中元素=集合c中的元素的个数 (基础题)
- 2017.07.27am-初学Javascript的小笔记
- mybatis学习笔记
- String类——常见字符串操作指令
- android ndk error :undefined reference to.
- QtableView选择范围操作 通过MAP存储选择行 获取最上行号和最下行号 上移下移一行等一系列操作
- 链表--已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。
- BZOJ 1086 [SCOI2005]王室联邦
- 2017 Multi-University Training Contest
- 使用redis进行缓存
- Lua 闭包知识点 -- 学习过程笔记,会比较乱
- Vuejs几个小实例
- 责任链模式--Chain of Responsibility Pattern
- 扩展欧几里得算法
- DeprecationWarning: `open()` is deprecated in mongoose >= 4.11.0, use `openUri()` instea