您的位置:首页 > 汽车 > 新车 > 山西省太原疫情最新消息今天_jeecms_2000元代理微信朋友圈广告_产品推广介绍怎么写

山西省太原疫情最新消息今天_jeecms_2000元代理微信朋友圈广告_产品推广介绍怎么写

2024/10/21 6:11:15 来源:https://blog.csdn.net/alwaysandnever/article/details/142796824  浏览:    关键词:山西省太原疫情最新消息今天_jeecms_2000元代理微信朋友圈广告_产品推广介绍怎么写
山西省太原疫情最新消息今天_jeecms_2000元代理微信朋友圈广告_产品推广介绍怎么写

并集是把两个集合合并,去除重复元素后组成的集合。

通过键盘输入将两个集合保存在链表A和链表B中,再创建一个链表C用于保存集合A、B的并集,将链表C打印输出。

image.png


提示:

1.相对于上一题(链表Set_LinkList(建立)),本题只需遍历已保存的链表A、B,将遍历到的当前值插入到链表C中;

2.为遍历取出链表数据,需要编写取值函数GetElem(LinkList L, int i),该函数功能为按序号返回数据元素,注意序号从1开始;

3.遍历链表需要知道链表长度,请自行编写ListLength()函数。

4.用户从键盘输入集合A、B,输入数据为整数,输入以-1结束。

输入格式:

第一行输入集合A,第二行输入集合B。

输出格式:

输出集合A、B的并集C

输入样例:

在这里给出一组输入。例如:

9 4 0 7 3 6 5 -1
1 5 6 8 4 7 0 -1

输出样例:

在这里给出相应的输出。例如:

9 4 0 7 3 6 5 1 8

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

 

#include <bits/stdc++.h>
using namespace std;
typedef int ElemType;
struct node{ElemType Data;struct node* next;
};
typedef struct node* Set_LinkList;
Set_LinkList init(){Set_LinkList L = (Set_LinkList)malloc(sizeof(struct node));L->Data = -1;L->next = NULL;return L;
}
int ListLength(Set_LinkList L){int counts = 0;Set_LinkList p = L->next;while(p != NULL){counts++;p = p->next;}return counts;
}
ElemType GetElem(Set_LinkList L, int i){int counts = 0;Set_LinkList p = L->next;while(p != NULL){counts++;if(counts == i){return p->Data;}p = p->next;}return -1;
}
void CreatList(Set_LinkList L, ElemType x){Set_LinkList p = L->next;if(p == NULL){Set_LinkList newnode = (Set_LinkList)malloc(sizeof(struct node));newnode->Data = x;newnode->next = NULL;L->next = newnode;return;}while(p->next != NULL){p = p->next;}Set_LinkList newnode = (Set_LinkList)malloc(sizeof(struct node));newnode->Data = x;newnode->next = NULL;p->next = newnode;return;
}
void display(Set_LinkList L){Set_LinkList p = L->next;if(p == NULL){cout<<"NULL";return;}while(p->next != NULL){cout<<p->Data<<' ';p = p->next;}cout<<p->Data;
}
void insert(Set_LinkList L, ElemType e){Set_LinkList p = L->next;if(p == NULL){Set_LinkList newnode = (Set_LinkList)malloc(sizeof(struct node));L->next = newnode;newnode->Data = e;newnode->next = NULL;return;}while(p->next != NULL){if(p->Data == e){return;}p = p->next;}if(p->Data == e){return;}Set_LinkList newnode = (Set_LinkList)malloc(sizeof(struct node));p->next = newnode;newnode->Data = e;newnode->next = NULL;return;
}
int main(){int x;Set_LinkList A = init();Set_LinkList B = init();cin>>x;while(x != -1){CreatList(A , x);cin>>x;}cin>>x;while(x != -1){CreatList(B , x);cin>>x;}int longA = ListLength(A);int longB = ListLength(B);Set_LinkList C = init();for(int i = 1;i <= longA;i++){insert(C,GetElem(A,i));}for(int i = 1;i <= longB;i++){insert(C,GetElem(B,i));}display(C);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com