#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct node
{
int data[100];
int length;
}list;
void Init(list *&L)
{
L = (list *)malloc(sizeof(list));
L->length = 0;
}
void Creat(list *&L)
{
int i,n;
cin>>n;
L->length = n;
for(i=0;i<n;i++)
{
cin>>L->data[i];
}
}
void Disp(list *&L)
{
int i;
for(i=0;i<L->length;i++)
{
cout<<L->data[i]<<" ";
}
}
void Bing(list *&A,list *&B,list *&C)
{
int i,j,k=0;
for(i=0;i<A->length;i++)
{
C->data[k++] = A->data[i];
}
int flag = 0; //定义指示器
for(i=0;i<B->length;i++){
for(j=0;j<A->length;j++)
{
if(B->data[i] == A->data[j]){ //相等指示器归0然后跳出
flag = 0;
break;
}
else flag = 1;
}
if(flag == 1) C->data[k++] = B->data[i]; //C表输出B中A没有的元素
}
C->length = k;
}
int main()
{
list *A,*B,*C;
Init(A);
Init(B);
Init(C);
Creat(A);
Creat(B);
Bing(A,B,C);
Disp(C);
return 0;
}
SWUST数据结构--集合的并运算的实现
最新推荐文章于 2023-03-04 11:04:27 发布