#include<stdio.h>
#define MAX1 5
#define MAX2 4
using namespace std;
void display(int c[], int n)//遍历输出数组元素
{
printf("\n");
for(int i = 0; i < n; i++)
printf("%d ", c[i]);
printf("\n");
}
void intersection(int a[],int n,int b[],int m)//求数组a[]与数组b[]的交集
{
int c[MAX1+MAX2];//定义一个n+m长的数组用c[]来存储交集元素
int i, j, k;//循环控制变量
k = 0;
for(i = 0; i < m; i++)//进行筛选
{
int flag = 0;
for(j = 0; j < n; j++)
{
if(b[j] == a[i])
{
flag = 1;//直找到一个公共元素
break;
}
}
if(flag)
c[k++] = b[j];
}
printf("insersection: ");
display(c, k);//将交集数列输出
}
//接下来我们使用main测试一下
int main()
{
int a[MAX1] = {1,5,2,6,7};//举例子
int b[MAX2] = {1,4,5,6};//举例子
intersection(a, MAX1, b, MAX2);//调用交集运算函数
system("pause");
return 0;
}
两个集合取交集
最新推荐文章于 2024-05-20 17:41:15 发布