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

【急求】用带头单链表存储结构表示两个集合A、B(集合A、B都是有序递增的情况)实现集合求并集C的运算

发布网友 发布时间:2022-05-03 01:22

我来回答

2个回答

热心网友 时间:2023-10-10 09:42

//无头链表
//#define data data_int
#include "head.h"
struct LNode{
// char data[10];
int data;
struct LNode *next;
};
typedef struct LNode * LinkList;

void InitList_L(LinkList &L)//链表构造函数
{
L=new LNode;
L->next=NULL;
}

void PrintList_L(LinkList &H)//链表显示函数
{
LinkList L=H;
L=L->next;
while(1)
{
cout<<"data value is "<<L->data<<endl;
L=L->next;
if (L==NULL)
return;
}
}

void Insert_L(LinkList &H,int n=0)//插入链表
{
LinkList L=H;
LinkList p=L;
int i=0;
if (n==0)
{
n=1;
while(p->next!=NULL)
{
p=p->next;
n++;
}

}
else if (n<1)
{
cout<<"error"<<endl;
return;
}
for (i=0;i<n-1;i++)
{
if (L->next==NULL)
{
cout<<"error"<<endl;
return;
}
L=L->next;
}
p=new LNode;
cout<<"please input a value:";
cin>>p->data;
p->next=L->next;
L->next=p;
}
LinkList bing_LinkList(LinkList a,LinkList b)
{
LinkList c;
LinkList nc;
LinkList t;
InitList_L(c);
nc=c;
a=a->next;
while (a!=NULL)//复制a到c
{
t=new LNode;
t->data=a->data;
nc->next=t;
t->next=NULL;
nc=nc->next;
a=a->next;
}
b=b->next;
while (b!=NULL)
{
nc=c;
while (nc->next!=NULL)
{
if (nc->next->data==b->data)
break;
nc=nc->next;
}
if (nc->next==NULL)
{
t=new LNode;
t->data=b->data;
nc->next=t;
t->next=NULL;
nc=nc->next;
}
b=b->next;
}
return c;
}
void main()
{
LinkList a,b,c;
int i=0;

InitList_L(a);
cout<<"\nI will input date."<<endl;
for (i=1;i<=3;i++)
Insert_L(a,i);
// PrintList_L(a);
InitList_L(b);
cout<<"\nI will input date."<<endl;
for (i=1;i<=3;i++)
Insert_L(b,i);
// PrintList_L(b);

c=bing_LinkList(a,b);
PrintList_L(c);

}

热心网友 时间:2023-10-10 09:42

#include "iostream.h"
typedef struct LNode
{
int data;
struct LNode *next;
}LNode;
typedef LNode *LinkList;

void InitList_L(LinkList &L)
{
L=new LNode;
L->next=NULL;
}

void ListInsert_L(LinkList &L, int i, int e)
{
int j;
LinkList p,s;
p=L;
j=0;
while(p&&(j<i-1)){p=p->next;++j;}
if(!p||(j>i-1)) cout<<"输入的i值不合理!"<<endl;
s=new LNode;
s->data=e;
s->next=p->next;
p->next=s;
}

int ListLength_L(LinkList L){
int count;
LinkList p;
p=L;count=0;
while(p->next){count++;p=p->next;}
return count;
}

void MergeList_L(LinkList A,LinkList B,LinkList &C)
{

LinkList pa,pb,pc,r;
C=new LNode;
C->next=NULL;
r=C;
pa=A->next;
while(pa)
{
pc=new LNode;
pc->next=NULL;
pc->data=pa->data;
r->next=pc;
r=pc;
pa=pa->next;
}
pb=B->next;
while(pb)
{
pa=A->next;
while(pa)
{
if(pa->data==pb->data)
break;
pa=pa->next;
}
if(pa==NULL)
{
pc=new LNode;
pc->next=NULL;
pc->data=pb->data;
r->next=pc;
r=pc;
}
pb=pb->next;
}

}

void print(LinkList &L)
{
cout<<endl;
LinkList p;
p=L;
p=p->next;
while(p)
{ cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}
void main()
{
int i;
int a[5]={1,2,5,8,9};
int b[5]={2,3,4,5,7};
LinkList A,B,C;
InitList_L(A);
InitList_L(B);
for(i=0;i<5;i++)
ListInsert_L(A,i+1,a[i]);
print(A);

for(i=0;i<5;i++)
ListInsert_L(B,i+1,b[i]);
print(B);

MergeList_L(A,B,C);
print(C);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
在筋骨堂治疗腰椎间盘突出一个疗程后已有好转,隔了三、四天又疼上了... 美的3⃣️匹柜机空调为什么不制热是什么原因? 小票打印机不出字的原因及解决方法如何解决小票打印机无法打印字的问题... 电脑打单打印机出不了小票超市收银台电脑键盘怎么用 交易房屋如何分类 城市规划用途分类该怎么做 规划用途的分类 ...打火机散件设备公司 值得信赖么 ?是不是《骗子》皮包公司? 希望给予... 哈尔滨农垦太阳神打火机散件厂是否骗人 有没有人知道网上那些打火机加工的广告是不是真是可靠?做打火机反销... 奔跑吧兄弟第三季第十一期angelababy和谁一组 瓶窑那里可以拉征信 单链表表示的集合交,并,差运算,设计采用定义集合,用集合运算表达式求值的方式进行。C语言实现。 用单链表实现集合的并,交,差运算...急啊~~3号之前要... 第一季、第二季奔跑吧兄弟中angelababy,郑恺,陈赫同组的有哪几期? 怎么用c++中的链表来表示集合的交集和并集 集合运算; 使用链表来表示集合,完成集合的合并,求交集等操作。 snh48女团在塞班岛被无人机*的那个视频的配音是哪首歌?英文的。求大神帮忙,谢谢 用顺序表和单链表分别实现求集合的并集、交集和差集。 第二季《奔跑吧兄弟》塞班岛,邓超,郑凯,包贝尔给angellababy扎辫子时的歌曲(插曲)叫什么 数据结构 用单链表表示集合的并交差运算 angelababy塞班岛墨镜 C++用单链表实现集合的交集,大家看一下我这个哪里错了 baby跑男塞班岛开场时穿的那条裙子 我要C语言实现创建一个集合(用链表最好),事先并不知道元素个数,请问怎么实现 如何用单链表实现两个集合的交集 踏寻Angelababy的脚步,《云中歌》手游带你重游跑男塞班站 集合操作 用单链表模拟有序集合,实现集合的加入一个元素、删除一个元素、集合的交、并、差运算。 C语言实现创建一个集合用链表。事先并不知道元素个数。 c语言题目,用单链表表示一个集合,元素类型为int且以递增方式储存,... 跑男4嘉宾名单baby退出鞠婧祎上 鞠婧祎是谁 奔跑吧兄弟第二季所拍摄地点首都机场是哪天拍的 谁能提供一些shinee的综艺节目类似hello baby 和年下男约会这样的 东方神起 AB3 赛尔号星球大战尤纳斯怎么加点 shinee和Superjunior上过的节目有哪些 大二,英语课前15分钟电影配音 赛尔号星球大战米瑞斯最好的性格天赋是什么? 英式英语电影配音 老师布置了个英语配音作业 两分钟以上 有没有什么英文电影电视片段可以推荐的? 谢谢 女人怀孕,第一胎是不是不能打掉? 求英语电影经典配音段落。!!! 初次怀孕 一个月吃药能打掉吗 英语电影配音用什么剧本好? 怀孕一个月能去打掉吗 未来互联网环境中,将会为电子政务带来怎样的创新和变革 画龙点睛的词语解释是什么 手机怎么才能把爱奇艺下载的电影传到百度云 我想考在职研究生,专业还没确定,帮我出出主意吧~~~一个是电子政务和管理,还有一个是物联网~~~ 简述电子政务产生和发展的条件和诱因