Сначала инициализируйте count
как 0. Затем проходите массив линейным образом.Для каждого элемента, который соответствует elm
, просто увеличьте count
.
/* C function to count occurrences of an element in an unsorted array */
int frequency(int array[], int array_size, int elm)
{
int count = 0;
for (int i = 0; i < array_size; i++)
if (array[i] == elm)
count++;
return count;
}
Если ваш массив отсортирован, вы можете оптимизировать его для работы в O(Log n)
времени, используя `Binary Searchè .