集合合并
Posted dean-sunpeishuai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合合并相关的知识,希望对你有一定的参考价值。
描述
已知集合A与集合B,且第个集合内数据是唯一的。求A,B集合合并成新的集合C,要求C集合内的数据也是唯一的。并指出C集合的个数。
输入三行,第一行分别为集合A,B的个数
第二行为A集合的数据
第三行为B集合的数据输出两行
第一行集合C的个数
第二行为C集合的数据样例输入
4 5 12 34 56 78 34 67 89 34 76
样例输出
7 12 34 56 78 67 89 76
提示数据小于30000
ps:此题题意不明,注意输出的顺序保持按输入的顺序不变。
#include<bits/stdc++.h> using namespace std; struct Node { int data; Node *next; }; int main() { int a[30008],j=0,n,m,x; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) { scanf("%d",&a[++j]); } for(int i=1;i<=m;i++) { scanf("%d",&x); int flag=1; for(int t=1;t<=j;t++) { if(a[t]==x) { flag=0; } } if(flag) a[++j]=x; } printf("%d ",j); Node *head,*p,*s; head=new Node;head->next=NULL; p=head; for(int i=1;i<=j;i++) { s=new Node; s->data=a[i]; p->next=s; p=s; } p->next=NULL; p=head->next; while(p) { if(p->next==NULL) { printf("%d ",p->data); } else { printf("%d ",p->data); } p=p->next; } return 0; }
以上是关于集合合并的主要内容,如果未能解决你的问题,请参考以下文章