众数可以有多个的情况下,C/C++ 怎样求一个数组的众数
展开全部
先假设这不是做竞赛题,只是做作业,先求开一个等大的数组,存一下原数组中每一个数出现的次数
另开一个数组(事先开好,或者申请一下内存),比如叫Ans_Num,然后再设两个变量,一个是众数个数计数器叫做Num_Cnt,一个是众数出现次数最大值计数器,比如叫 Max_Time
一开始这两个变量都是0
然后遍历刚刚得到的每个数出现次数的数组 , 只有两种情况需要操作
出现次数>Max_Time,把Num_Cnt 清零 ,把当前这个放到Ans_Num数组首部位置,让Num_Cnt+1,表示现在有一个众数
出现次数=Max_Time ,从Ans_Num数组下标0 到 Num_Cnt-1 搜索,有没有出现过当前这个数,没有的话让Num_Cnt+1,在Ans_Num数组里安排当前这个数的位置
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询