问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请设计一个算法,,求A和B两个单链表表示的集合的交集、并集、差集

发布网友 发布时间:2022-04-19 03:06

我来回答

2个回答

热心网友 时间:2022-04-19 04:35

#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{char data; /*定义了数据域,这里存储的是char类型*/
struct Node*next; /*定义了指针域*/
}*linklist;

void readdata(linklist head)
{ linklist p;
char a;
scanf("%c",&a);
while(a!='\n')
{ p=(linklist)malloc(sizeof(structNode));
p->data=a;
p->next=head->next;
head->next=p;
scanf("%c",&a);
}
}

void pop(linklist head)
{ linklist p;
p=head->next;
while(p!=NULL)
{ printf("%c",p->data);
p=p->next;
}
printf("\n");
}
/******求两个链表的并集******/
void bingji(linklist head1,linklisthead2,linklist head3)
{ linklist p1,p2,p3;
p1=head1->next;
while(p1!=NULL)
{ p2=head2->next;
while((p2!=NULL)&&(p2->data!=p1->data))
p2=p2->next;
if((p2!=NULL)&&(p2->data==p1->data))
{ p3=(linklist)malloc(sizeof(struct Node));
p3->data=p1->data;
p3->next=head3->next;
head3->next=p3; }
p1=p1->next; } }
/********求两个链表的交集********/
void jiaoji(linklist head1,linklisthead2,linklist head3)
{ linklist p1,p2,p3;
p1=head1->next;
while(p1!=NULL)
{ p3=(linklist)malloc(sizeof(struct Node));
p3->data=p1->data;
p3->next=head3->next;
head3->next=p3;
p1=p1->next; }
p2=head2->next;
while(p2!=NULL)
{ p1=head1->next;
while((p1!=NULL)&&(p1->data!=p2->data))
p1=p1->next;
if (p1==NULL)
{ p3=(linklist)malloc(sizeof(struct Node));
p3->data=p2->data;
p3->next=head3->next;
head3->next=p3; }
p2=p2->next;
}
}
/********求两个链表的差集************/
void chaji(linklist head1,linklisthead2,linklist head3)
{ linklist p1,p2,p3;
p1=head1->next;
while(p1!=NULL) //循环语句执行链表的差集运算
{ p2=head2->next;
while((p2!=NULL)&&(p2->data!=p1->data))
p2=p2->next;
if(p2==NULL)
{ p3=(linklist)malloc(sizeof(struct Node));
p3->data=p1->data;
p3->next=head3->next;
head3->next=p3;
}
p1=p1->next;
}
}

void main(linklist head1,linklisthead2,linklist head3)
{
int x;
printf("input values and end up with ‘enter’ \n");
head1=(linklist)malloc(sizeof(struct Node)); /*为结点分配内存空间*/
head1->next=NULL;
head2=(linklist)malloc(sizeof(struct Node));
head2->next=NULL;
head3=(linklist)malloc(sizeof(struct Node));
head3->next=NULL;
printf("please input ji he 1 \n");
readdata(head1);
printf("please input ji he 2 \n"); //调用链表输出函数链表数据
readdata(head2);
A:printf("1.bing ji 2.jiaoji 3.cha ji 4.exit \n");
do{
printf("qing xuan ze xu hao\n");
scanf("%d",&x);
switch(x)
{
case 1:
printf("liang ge ji he debing ji shi \n");
jiaoji(head1,head2,head3);
pop(head3);
head3->next=NULL;
break;
case 2:
printf("liang ge ji he dejiao ji shi \n");
bingji(head1,head2,head3);
pop(head3);
head3->next=NULL;
break;
case 3:
printf("liang ge ji he decha ji shi \n");
chaji(head1,head2,head3);
pop(head3);
head3->next=NULL;
break;
case 4: break;
default:goto A; }
}
while(x!=4);
}

热心网友 时间:2022-04-19 05:53

你好哦。
很高兴看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也比较热心,可能能快点帮你解决问题。
祝你好运~!
希望我的回答也能够帮到你!
谢谢
请设计一个算法,,求A和B两个单链表表示的集合的交集、并集、差集

p1=p1-&gt;next; } } /***求两个链表的交集***/ void jiaoji(linklist head1,linklisthead2,linklist head3){ linklist p1,p2,p3;p1=head1-&gt;next;while(p1!=NULL){ p3=(linklist)malloc(sizeof(struct Node));p3-&gt;data=p1-&gt;data;p3-&gt;next=head3-&gt;next;head3-&gt;next=p3;p1=p1...

非结构化数据如何可视化呈现?

通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...

...a集合b和全集 求两个集合的交集 并集 补集 差集

演示一个求交集,其他的类似 int a[m],b[n], c[k],num=0;for(int i=0;i&lt;m;i++){for(int j=0;j&lt;n;j++)if(a[i]==b[j]){ c[num]=a[i];num++;} }

如何用链表实现集合的交集,并集,差集

printf("请输入集合B的元素\n");for(i=0;i&lt;lb.length;i++)scanf("%d",&amp;lb.elem[i]);difference(la,lb);printf("并集中的元素为:\n");for(i=0;i&lt;la.length;i++)printf("%-4d",la.elem[i]);printf("\n");Intersection(la,lb);printf("交集中的元素为:\n");for(i=0;i...

用c++编写程序,求两线性表的交集,并集,差集。

//直接上代码:#include&lt;iostream&gt;using namespace std;int main(){int a,b;int c,d;cout&lt;&lt;"请输入第一个闭区间的a,b"&lt;&lt;endl;cin&gt;&gt;a&gt;&gt;b;cout&lt;&lt;"请输入第二个闭区间的c,d"&lt;&lt;endl;cin&gt;&gt;c&gt;&gt;d;if(a&gt;b||c&gt;d) {cout&lt;&lt;"输入的区间不合法"&lt;&lt;endl;}else{if(d&lt;a){cout&lt;&lt;"交集...

python集合的运算(交集、并集、差集、补集)

1. 交集(Intersection)交集运算返回两个集合中共同存在的元素。在Python中,可以使用 `&amp;` 运算符或 `intersection()` 方法来实现。例如:```python A = {1, 2, 3} B = {3, 4, 5} intersection = A &amp; B # 或者 A.intersection(B)```结果是 `{3}`。2. 并集(Union)并集运算返回...

什么是集合的并集、交集、差集、补集?

1、并集 对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。记作:AUB 读作“A并B”例: {3,5}U{2,3,4,6}= {2,3,4,5,6} 2、交集 对于两个给定集合A、B,由属于A又属于B的所有元素构成的集合,叫做A和B的交集。记作: A∩B 读作“A交B”例: A={...

...两个集合A,B(成员为整数),求两个集合的交集,并集,结果存 放于A中...

include &lt;stdio.h&gt;#include &lt;malloc.h&gt;typedef struct node {int num;struct node *next;}AGG;AGG *CreateList() { // 创建单循环链表,返回链表头AGG *head,*p;int i,n;printf("结点个数n = ");scanf("%d",&amp;n);head = p = (AGG *)malloc(sizeof(AGG)); // 专用头结点head-&gt;...

用java编写程序,求集合的并集、交集和差集

public static void main(String[] args) { Integer[] A = {1,2,3,4}; Integer[] B = {1,3,7,9,11}; List&lt;Integer&gt; listA = Arrays.asList(A); List&lt;Integer&gt; listB = Arrays.asList(B); List&lt;Integer&gt; jiaoji = new ArrayList&lt;Integer&gt;(); for(Integer a...

python集合的运算(交集、并集、差集、补集)

我们先在这里定义两个集合,因为是求交集,因此A和B的位置调换依然不影响结果。使用集合求并集的方式同样也是两种方式,一种是使用 ‘|’ 运算符进行操作,一种是使用 union() 方法来实现。求并集的时候同样不需要注意 A 和 B 的位置关系。使用集合求差集的方式同样也是两种方式,一种是使用 ‘-’ ...

用c语言求两个集合的交集,并集,差集

} /* 交集 *//* A与B的交集(A∩B):既属于A又属于B的元素构成的集合 */int setIntersection (set A, set B, set *dest) {int i = 0, j = 0, k = 0;dest-&gt;length = 0;for (i=0; i&lt;A.length; i++) { /* 外循环遍历A */for (j=0; j&lt;B.length; j++) { /* ...

求A集合和B集合交集的算法 求出两个集合A和B的差集算法 用链表求A与B的交集 单链表实现A与B的并集 已知两个链表A和B 甲公司设计了A和B两种产品 汽车设计中的A B C面 B的计算公式 B的设计
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
逸动跟新帝豪不知道该选哪个!比较中意帝豪1.3的,求老车主给 300字的运动会加油稿,各种项目类型都要,15篇,谢绝诗歌(诗歌不给分... 新帝豪与逸动比较,哪款更适合家用?求大神意见。 ...是这种小虫子,还有墙上,被子上,地上,褐色1mm左右,这是什么虫怎么治... 家里墙上床上很多小虫子不到1mm ...我这是什么虫子,最近家里的床上好多这样的小虫子,很小1mm不到,爬的... 你好。我在58同城看到招聘火车押货员,试用期工资9000。靠谱吗? 长途押货人员月薪8000双休包食宿真的假的? 古巨基为爱妻庆53岁生日,为何称老婆为女儿? 天涯明月刀手游怎么换绑定手机号 手机解绑攻略 大蒜焖鸡——我家的经典年菜的做法有哪些? 互联网金融是股权融资还是债权融资 咸鸭、咸鸡怎么烧好吃 盐焗咸鸡怎么做 互联网企业融资案例的融资模式有哪些 咸鸡怎么做才好吃呢? 美国灾难片《后天》迅雷下载地址 有部灾难片电影叫做《后天》听里面说整个北半球都被冰雪覆盖了,请问中国有没有被覆盖呢? 求灾难片&lt;后天&gt;的下载地址!!! 有一部电影,一开头就讲了南极冰川出现大裂痕,然后讲到全球气候变化,这是什么电影啊? 后天灾难片在哪看 中国体育彩票顶呱刮“中国红”刮开后怎么知道你中奖了? 隆胸手术是怎么做的,大家好 如何求两个集合的交集并集补集 支付分逾期是影响一个还是名下所有 国税局新版发票该怎么打? 新版手工发票如何填开 新版发票以前开的发票为什么 河南省新版增值税普通发票怎样开具 您好!请问怎样开具发票 上海家化今天分红的钱什么时候到帐? 上海家化7号分红,我只有1500股,资金余额增加1485也就是等到红利。但是 为什么中国平安还没有上海家化分红高 上海家化分红2016年股权登记日 上海家化 今天早晨一看怎么突然跌了,不太懂,怕再跌停就给卖掉了。 哪些有翻倍能力的股票都有哪些共同特征 《你是我的荣耀》周几更新? 求两个数集的交集与并集用什么方法是什么? 春秋航空到底可以带多大的登机箱 春秋航班无免费托运行李额可以带20寸箱子登机吗 辐射过大、 对人有什么危害? 核辐射对人体的危害有哪些? 春秋航空允许带上飞机的行李箱尺寸是多少? 信丰县职工养老保险个人份分2019年要缴费多少 用电脑店怎么装系统? 电脑店怎么用u盘装系统教程视频的相关视频 没有进黑名单为什么网贷申请不下来 如何安装系统 电脑店u盘装系统教程 电脑相片数据误删了,谁有免费强大的数据恢复软件推荐一下 - 信息提示