我正在尝试找到一种方法来查找未排序数组的众数,如果该未排序数组本身就有众数,或者它有多个众数(例如2,2,3,3,4,6,7,其中众数为2和3)。我正在尝试在不对数组进行排序的情况下完成此操作。
目前,我的代码如下:
目前,我的代码如下:
int counter = 1;
int counterTwo = 0;
int mode = array[0];
for (int i = 0; i < SIZE - 1; i++)
{
if (array[i] == array[i + 1])
{
counter++;
if (counter > counterTwo)
{
counterTwo = counter;
mode = array[i];
}
else
{
counter = 1; // Reset counter
}
}
}
cout << "\nThe mode is: " << mode << endl;
这种方法可以完成任务,但不能帮助我确定数组是否有多个众数。当没有众数时,它只输出数组中的第一个值。
对此有何帮助吗?提前感谢您。