众数可以有多个的情况下,C/C++ 怎样求一个数组的众数

 我来答
shenjian9619
2017-04-13 · TA获得超过1537个赞
知道小有建树答主
回答量:1007
采纳率:50%
帮助的人:574万
展开全部

先假设这不是做竞赛题,只是做作业,先求开一个等大的数组,存一下原数组中每一个数出现的次数

另开一个数组(事先开好,或者申请一下内存),比如叫Ans_Num,然后再设两个变量,一个是众数个数计数器叫做Num_Cnt,一个是众数出现次数最大值计数器,比如叫 Max_Time

一开始这两个变量都是0

然后遍历刚刚得到的每个数出现次数的数组 , 只有两种情况需要操作

  1. 出现次数>Max_Time,把Num_Cnt 清零  ,把当前这个放到Ans_Num数组首部位置,让Num_Cnt+1,表示现在有一个众数

  2. 出现次数=Max_Time ,从Ans_Num数组下标0 到 Num_Cnt-1 搜索,有没有出现过当前这个数,没有的话让Num_Cnt+1,在Ans_Num数组里安排当前这个数的位置

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式