C#求一组数的众数

时间:2023-03-09 19:36:42
C#求一组数的众数
        private int GetModeNum(List<int> listValue)
{
List<int> listName = new List<int>(); //众数
List<int> listNum = new List<int>(); //众数的数量
int index = ;
foreach (var i in listValue)
{
int count = ;
if (!listName.Contains(i))
{
foreach (var j in listValue)
{
if (i == j)
{
count++;
}
}
listName.Add(i);
listNum.Add(count);
index++;
}
}
int max = , maxCount = , maxIndex = ;
for (int i = ; i < index; i++)
{
max = max > listNum[i] ? max : listNum[i];
}
for (int i = ; i < index; i++)
{
if (max == listNum[i])
{
maxIndex = i;
maxCount++;
}
}
if (maxCount > && maxCount <= )
{
return listName[maxIndex];
}
else
{
return -;
}
}
//调用
int a = this.GetModeNum(new List<int>() { , , , , , , , , , , , , , , , , , });
if (a != -)
{
Console.WriteLine("最多的数为:" + a);
}
else
{
Console.WriteLine("最多的数有重复!");
}
Console.ReadLine();