c++ 求并集代码 5

求两个集合的并集。算法要非常简单,菜鸟也能看懂。... 求两个集合的并集。算法要非常简单,菜鸟也能看懂。 展开
 我来答
聆听随风_
2015-07-26 · TA获得超过157个赞
知道小有建树答主
回答量:139
采纳率:100%
帮助的人:66.2万
展开全部
//有以下2个集合
int a[] = {1,2,3,4,5}, b[] = {6,7,8,9,0};
//现在求并集
//求出集合a,b元素个数
int sizeA = sizeof(a) / sizeof(int);
int sizeB = sizeof(b) / sizeof(int);
//开始合并2个集合,
for(int indexB = 0; indexB < sizeB; indexB ++)
{
    //数组a长度是不够了,只能容纳5个元素,所以需要扩大长度
    瞎旁笑//增加一个元素的长度,数组元素为int型,因此每个元素长度磨含为sizeof(int),
    a = realloc(a,sizeof(int)); 
    
    //从a集合的启毁sizeA+1(第6个元素)开始向后添加B中所有元素
    a[sizeA + indexB ] = sizeB[indexB ];
}

这样就把数组a和b合并了,也就是并集
追问
是求数学中的并集。
a[5]={1,2,3,4,5}
b[5]={0,2,3,4,6}
并集c[7]={1,2,3,4,5,0,6}
追答
合并以后排序,最后检查重复元素,只保留一个即可
cnlarryzhong
推荐于2018-04-13 · TA获得超过159个赞
知道答主
回答量:22
采纳率:0%
帮助的人:3.3万
展开全部
比较简单!
//有以下2个集合
int a[] = {1,2,3,4,5}, b[] = {6,7,8,9,0};
//现在求并集
//求出集合a,b元素个数
int sizeA = 虚弊sizeof(a) / sizeof(int);
int sizeB = sizeof(b) / sizeof(int);
//开始合并2个集合,
for(int indexB = 0; indexB < sizeB; indexB ++)
{
    //数组a长度是不够了,只能容纳5个元素,所以需要扩大长度
    //增加一个元素的长度,数组元素为int型,因此每个元素长度为sizeof(int),
    a = realloc(a,sizeof(int)); 
     
    //从a集合的sizeA+1(第6个元素)开始向后添加B中所有元素
    a[sizeA + indexB ] = sizeB[indexB 差烂族];
}
// 去重 (algorithm 库)
unique(a, a + sizeA + 历慎sizeB);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式