问题:
给定含有n个元素的多重集合s,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。
例如:S={1,2,2,2,3,5}。多重集S的众数的2,其重数为3.
算法设计:对于给定的由N个自然数组成的多重集S,计算S的众数及其重数。
思路:首先对输入的数组进行排序,循环已经排好序的数组,用计数值count来表示相等数的个数,将每次相等的个数进行比较将最大的count值赋值给重数index
代码:
#include <iostream>
#include <stdio.h>
using namespace std;
/*
冒泡排序,相邻两个元素进行比较交换位置 ,
每循环一次就有一个最大的数确定好位置
*/
void sort(int a[] ,int n){
int i,j,temp;
for(i=0;i<n-1;++i){
//冒泡排序
for