#include <stdio.h>
#include <memory.h>
int GetMaxCount(int* pArr,int n,int* pRecv)
{
typedef struct tagMap
{
int data;
int count;
}Map;
Map* pMaps = malloc(n*sizeof(Map));
memset(pMaps,0, n*sizeof(Map));
int len = 0;
int i, j;
for (i = 0; i < n; i++)
{
for (j = 0; j < len; j++)
{
if (pMaps[j].data == pArr[i])
{
pMaps[j].count++;
break;
}
}
if (j == len)
{
pMaps[len].data = pArr[i];
pMaps[len].count++;
len++;
}
}
int index = 0;
int maxNum = pMaps[index].count;
for (i = 0; i < len; i++)
{
if (pMaps[i].count>maxNum)
{
maxNum = pMaps[i].count;
index = i;
}
}
*pRecv = pMaps[index].data;
free(pMaps);
return maxNum;
}
void main()
{
int a[] = {1,1,1,2,1,1};
int item;
int count = GetMaxCount(a, sizeof(a) / sizeof(int), &item);
printf("%d出现的次数最多,为%d次\n", item, count);
getchar();
}
求数组中出现次数最多的元素及其次数
猜你喜欢
转载自blog.csdn.net/csdn_gddf102384398/article/details/88564168
今日推荐
周排行