首页 > 软件 > 为什么我两个链表元素没有交集的时候无法求交集与并集啊,有交集正常(可以帮我看看代码吗)

为什么我两个链表元素没有交集的时候无法求交集与并集啊,有交集正常(可以帮我看看代码吗)

软件 2024-06-18

刚学数据结构,两个链表求交集。我标注出来了。真心请教各位。

核心思路OK.但细节还有些问题 1。函数功能划分不合理,应该把两个链表的初始化放在main函数,子函数只进行求交集的工作。 2。命名不好,create.D.E.f1.f2都是啥啊,感觉就head是正常的。 3。head指针不需要单独申请一个内存,直接head=f1就好。感觉对指针理解还不深。 4。f2是干吗的?链表tail?你根本都没用到它吧?删除可以吗? 5。指针变量定义时应该初始化为NULL.在调用f2->next=f1时鬼知道你把哪块内存的值改成了f1 6。中间有个if没有执行语句?好歹弄个continue.多个if条件最好用if else串起来,不然可能有个if没有break就走到下个

只有有交集的两个集合,才能求并集吗?

只有有交集的两个集合,才能求并集吗? 不是这样的,即使交集为空集,也可以求并集。 比如{x|0<x<1}和{x|x<2}有并集吗? 有{x|0<x<1}∪{x|x<2}={x|x<2} 如果不懂,请Hi我,祝学习愉快!

两链表的并集

我给修改了一下,测试通过了,你看一下我注释的地方: #include #include struct sted{ int num; struct sted *next; }; struct sted * creatlist(void) { int n=0; struct sted * head,*p1,*p2; p1=p2=(struct sted *)malloc(sizeof(struct sted)); scanf("%d",&p1->num); head=NULL; while(p1->num) { n++; if(n==1)head=p1; el

链表实现集合交并差

从思路上看, 交集的函数是对的,但并集和差集的做法不对。 并集函数中,先把h1的队列复制过去是对的,但要把h2中不存在h1的元素补充进去时,每拿出一个h2的元素,需要遍历所有h1的元素,然后才能决定是否放进结果集,不能一有不同就放。 差集的错误与并集类似 还有一个小的建议, 先创建头结点 Node *h=new Node; 这种做法不错, 但在添加新节点时,用下面的顺序可以更方便 p->next = new Node; p = p->next; p->content=p1->content; p->next = NULL; 在最后,把头结点删掉就行 p = h->next; delete h;

c语言 链表 两个 链表 求 L1∩L2 和 L1∪L2 的 程序

交集,并集? ======================================== 晚上才有时间给你做,现在放出来了。 可以的话,最好能自己做出来。这才最有效果的。 //单链表 #include #include #define ElemType int typedef struct LNode //单链基本存储结构 { ElemType data; struct LNode *next; }LNode,*LinkList; void InitList(LinkList *L) {//初始化 if(!(*L=(LinkList)malloc(s

标签:信息技术 编程 CC++ 编程语言 链表

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18