求两个单链表list1与list2的差集,并将结果保存至list1中
来源:互联网 发布:如何利用网络做直销 编辑:程序博客网 时间:2024/05/24 05:55
解决方法:
遍历list1,若list1中的数据在list2中也出现了,那么删除list1中的该数据,否则保留。
代码实现:
typedef struct Node{ int data; struct Node* next;}Node,*PNode;
void Difference(PNode* pHead1, PNode pHead2){ PNode pList1 = *pHead1; PNode pList2 = NULL; PNode pTail = NULL;//记录pHead1中的尾结点,以便链接符合条件的结点 PNode pTmp = NULL;//记录pHead2中不在pHead1中的结点,以便删除 while (pList1) { pList2 = pHead2; while (pList2 && pList1->data != pList2->data) pList2 = pList2->next; if (pList2)//pList2不存在或pList2存在且pList1 == pList2 { if (pTail == NULL) *pHead1 = pList1->next; else pTail->next = pList1->next; pTmp = pList1; pList1 = pList1->next; free(pTmp); } else { pTail = pList1; pList1 = pList1->next; } }}
阅读全文
0 0
- 求两个单链表list1与list2的差集,并将结果保存至list1中
- 判断list1中是否包含list2元素
- 判断list1中是否包含list2元素
- list1.removeAll(list2);
- Java基本方法——String数组转List,删除List1中与List2中相同的元素
- list1
- List入库,把List1中的数据入库到List2中
- GRE造句系列——list1,list2
- list1.cpp
- MAP LIST1
- 求两个单链表的差集和并集
- List<String> list1 = new ArrayList<String>(0); List<String> list2 = new ArrayList<String>();不同之处???
- 【Mysql】求两个表(查询结果)的差集
- 已知集合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的元素分别用不含头结点的单链表存储, 求解集合A与B的差集,并将结果保存在集合A的单链表中
- 问题:C-Kermit>c Sorry, you must SET LINE or SET HOST first
- HDU6046 hash 【2017多校联训第二场B】
- Linux修改主机名永久生效
- LeetCode(25)--Reverse Nodes in k-Group
- Linux和Windonws下静态库与动态库(静态库篇)
- 求两个单链表list1与list2的差集,并将结果保存至list1中
- 服务器centos 7.2 LAMP环境安装
- js中常用方法总结
- Android—(提交数据至服务器)
- Spring Cloud Eureka详解
- Configuration--properties(三-1)
- Linux编译安装PHP5.6.31
- FastDFS+nginx+tomcat在linux系统的配置
- 整理:对开发者有用的英文网站合集