编写:A=A U B的并集算法。
思路:
1、用其中一个集合中的每一个元素与另一个集合比较:如果出现一样的情况,就删除一个集合中这个元素。
2、根据比较后得到的两个集合,让它们连接起来。
代码
#include <stdio.h>
void move(char *p,int n) //删除相同元素函数
{
while(p[n+1]!='\0')
{
p[n]=p[n+1];
n++;
}
p[n]='\0';
}
void main()
{
char a[100];
char b[100];
int i=0,j=0;
printf("please input a:");
gets(a);
printf("please input b:");
gets(b);
while(b[i]!='\0')
{
while(a[j]!='\0')
{
if(a[j]==b[i]) //比较是否出现一样的元素
move(a,j);
else j++;
}
j=0;
i++;
}
i=0;j=0;
while(a[i]!='\0') //判断A集合的长度
i++;
while(b[j]!='\0') //连接两个集合
a[i++]=b[j++];
a[i]='\0';
printf("please input a U b:");
puts(a);
}