中易网

数据结构C语言版,求两个集合并集的问题。求助高手!!!!

答案:2  悬赏:10  
解决时间 2021-11-15 07:39
小弟写的程序,要求是:建立个2集合,判定这个集合是否是另一个集合的子集。
我写了一上午,到底是哪里出错了呢?求高手帮帮忙!!

#include
#include
typedef char ElemType;
struct Node
{
ElemType data;
Node *next;
};
Node *head;
Node creatlist(Node *head) //创建链表
{
Node * p,*r;
char i;
head=new Node;
if (!head)
{
cout<<"分配内存失败!"< }
head->next=NULL;
p=head;
cout<<"请输入数据:\n"< cin>>i;
while(i!='0')
{
p->data=i;
r=new Node;
r->next=p->next;
p->next=r;
p=r;
cin>>i;
}
return *r;

}
void output(Node *q) //输出数据
{

int j=0;
cout<<"要输出的数据:\n"<
if(!q)
{
cout<<"链表为空!"< return;
}

while (q->next)
{
cout<data<<"\t";
q=q->next;
j++;
}
cout< cout<<"链表的长度为:\n"<}

void combine(Node *s,Node *head)
{

while(s->next)
{
while(head->next)
{
if(head->data==s->data)
{
break;
}
else
{
cout<<"不是该集合的子集";
return;
}

}
s=s->next;
if(s->next)
{
cout<<"是该元素的子集";
}
}

}

void sk()//登录界面
{
cout<<"请选择您所要执行的操作"< cout<<"1.创建链表"< cout<<"2.遍历并输出链表的数据并求链表的长度"< cout<<"3.集合的元素判定和子集判定"<
int a;
Node head1,head2;
cin>>a;
switch(a)
{
case 1:
{
cout<<"请输入要创建的集合名称"< cin>>head1;
creatlist(head1);
sk();
break;
}
case 2:
{
cout<<"请输入要查看的集合"< cin>>head1;
output(head1);
sk();
break;
}
case 3:
{
cout<<"请输入一个集合"< cin< cout<<"请输入要判定的集合"< cin>>head1< void combine(head2,head1);
sk();
break;
}

}
}
void main()
{
sk();
}
最佳答案
定义的不准确,思维太乱了,建议你从新在写一个。
全部回答
用两个数组表示集合元素 对于aub=c 先把a的数据 复制到c里面 然后 遍历b数组,每个元素和a对比,如果存在 则略过,否则添加到c中。 等到的c 即为并集
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
威海市交运五公司充值点地址在什么地方,想过
月子中心会月子怎么样的?有人去过吗?
做饭时被油烫伤肚子。。起了水泡。。怎么办?
威海市烟威路双岛收费站办公地址在什么地方,
请问,维信电镀车间给身体伤害大吗?我弟弟要
天净沙秋思改写100字散文
福州长安星光4500多少钱?在哪儿有专卖店?
梦见死猫向我走来是什么意思?好不好呢?
请问离广州越秀区最近的烧烤场有哪些?最好是
艾弗森会去哪个球队?
荣成市汽车站客服网点办公地址在什么地方,我
怀孕3--4个月可以吃当归煮蛋吗?
订婚后不想跟男朋友出去约会怎么改?
孕妇可以用热水袋吗
荣成市公路局石岛分局办公地址在什么地方,我
推荐资讯
朔州市神电工商所办公地址在什么地方,我要处
冲藕粉的时候发现两次冲出来的效果不一样;一
有时候感觉心跳很快问题
磁石的成分是什么
新版酷狗音乐还能定制彩铃吗?
海带的禁忌食物有哪些?
中国工商银行ATM(万石段)地址在哪,我要去那
山窠的意思是什么?山窠的释义是什么啊?
请教,一岁八个月宝宝脚崴了,怎么办?
晚上睡不着,失眠怎么办
我公司购买一台机器,分三次付款,第二次付款
驻马店海洋装饰公司怎么样?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?