一个有些复杂的C语言问题,求大神帮忙看一下,不胜感激 100

有两个已经确定的整数数组,M和N,M数组里有M个数,N数组里有N个数,现在要找出M数组和N数组中重复的数并输出求大神帮忙编个程序,提供点儿思路也行,谢谢啦!... 有两个已经确定的整数数组,M和N,M数组里有M个数,N数组里有N个数,现在要找出M数组和N数组中重复的数并输出

求大神帮忙编个程序,提供点儿思路也行,谢谢啦!
展开
 我来答
射手的辉煌
2018-02-10 · TA获得超过920个赞
知道小有建树答主
回答量:1414
采纳率:58%
帮助的人:305万
展开全部
建立一个新数组F,长度等同M,初始值全部为-1或者只要不是M或N数组中任何一个值都行。用双for循环遍历,外层循环遍历M,内层遍历N,并判断是否相同,相同则写入新数组。循环结束打印新数组F中所有不为-1的值,即M数组和N数组中都拥有的数。
建立数组F,初始值全部为-1
int i,j,k=0;
for (i = 0; i < M.length; i++) { //M.length为M的长度
for (j = 0; j < N.length; j++) { //N.length为N的长度
if ( M[i] == N[j] ) { F[k] = M[i]; k++; }
}
}
输出:for循环打印F数组中不等于-1的值
for。。。。
GTA小鸡
高粉答主

2018-02-10 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
如果不考虑性能,对M中的每个元素,遍历N检查有无重复元素,有则输出该元素。
如果考虑性能,使用红黑树或者AVL树建立M或N的集合,然后逐个判断N或M中的元素是否在该集合中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式