Frequencies of Limited Range Array Elements Java
PROGRAM TO COUNT FREQUENCIES OF ALL ELEMENTS OF ALL ELEMENTS IN ARRAY
OUTPUT
1 -> 0 2 -> 2 3 -> 2 4 -> 0 5 -> 1
class
CountFrequency
{
// Function to find counts of all elements present in
// arr[0..n-1]. The array elements must be range from
// 1 to n
void
printfrequency(
int
arr[],
int
n)
{
// Subtract 1 from every element so that the elements
// become in range from 0 to n-1
for
(
int
j =
0
; j < n; j++)
arr[j] = arr[j] -
1
;
// Use every element arr[i] as index and add 'n' to
// element present at arr[i]%n to keep track of count of
// occurrences of arr[i]
for
(
int
i =
0
; i < n; i++)
arr[arr[i] % n] = arr[arr[i] % n] + n;
// To print counts, simply print the number of times n
// was added at index corresponding to every element
for
(
int
i =
0
; i < n; i++)
System.out.println(i +
1
+
"->"
+ arr[i] / n);
}
// Driver program to test above functions
public
static
void
main(String[] args)
{
CountFrequency count =
new
CountFrequency();
int
arr[] = {
2
,
3
,
3
,
2
,
5
};
int
n = arr.length;
count.printfrequency(arr, n);
}
}
1 -> 0 2 -> 2 3 -> 2 4 -> 0 5 -> 1
Comments
Post a Comment