TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

Program to find the frequency of each element of an array

Program to find the frequency of each element of an array on fibonacci, factorial, prime, armstrong, swap, reverse, search, sort, stack, queue, array, linkedlist, tree, graph etc.

<< Back to PROGRAM

Q. Program to find the frequency of each element of an array.

Explanation

In this program, we need to count the occurrence of each unique element present in the array. One of the approach to resolve this problem is to maintain one array to store the counts of each element of the array. Loop through the array and count the occurrence of each element and store it in another array fr.

Program to find the frequency of each element of an array

In the above array, 1 has appeared 1 time, so, the frequency of 1 is 1. Similarly, 2 has appeared 4 times. The frequency of 2 is 4 and so on.

Algorithm

  1. Declare and initialize an array arr.
  2. Declare another array fr with the same size of array arr. It is used to store the frequencies of elements present in the array.
  3. Variable visited will be initialized with the value -1. It is required to mark an element visited that is, it helps us to avoid counting the same element again.
  4. The frequency of an element can be counted using two loops. One loop will be used to select an element from an array, and another loop will be used to compare the selected element with the rest of the array.
  5. Initialize count to 1 in the first loop to maintain a count of each element. Increment its value by 1 if a duplicate element is found in the second loop. Since we have counted this element and didn't want to count it again. Mark this element as visited by setting fr[j] = visited. Store count of each element to fr.
  6. Finally, print out the element along with its frequency.

Solution

Python

#Initialize array 
arr = [1, 2, 8, 3, 2, 2, 2, 5, 1]; 
#Array fr will store frequencies of element
fr = [None] * len(arr);
visited = -1;
 
for i in range(0, len(arr)):
    count = 1;
    for j in range(i+1, len(arr)):
        if(arr[i] == arr[j]):
            count = count + 1;
            #To avoid counting same element again
            fr[j] = visited;
            
    if(fr[i] != visited):
        fr[i] = count;
 
#Displays the frequency of each element present in array
print("---------------------");
print(" Element | Frequency");
print("---------------------");
for i in range(0, len(fr)):
    if(fr[i] != visited):
        print("    " + str(arr[i]) + "    |    " + str(fr[i]));
print("---------------------");

Output:

----------------------------
Element | Frequency
----------------------------
         1    |    2
         2    |    4
         8    |    1
         3    |    1
         5    |    1
----------------------------

C

#include <stdio.h>
 
int main()
{
    //Initialize array 
    int arr[] = {1, 2, 8, 3, 2, 2, 2, 5, 1}; 
    
    //Calculate length of array arr
    int length = sizeof(arr)/sizeof(arr[0]);
    
    //Array fr will store frequencies of element
    int fr[length];
    int visited = -1;
    
    for(int i = 0; i < length; i++){
        int count = 1;
        for(int j = i+1; j < length; j++){
            if(arr[i] == arr[j]){
                count++;
                //To avoid counting same element again
                fr[j] = visited;
            }
        }
        if(fr[i] != visited)
            fr[i] = count;
    }
    
    //Displays the frequency of each element present in array
    printf("---------------------\n");
    printf(" Element | Frequency\n");
    printf("---------------------\n");
    for(int i = 0; i < length; i++){
        if(fr[i] != visited){
            printf("    %d", arr[i]);
            printf("    |  ");
            printf("  %d\n", fr[i]);
        }
    }
    printf("---------------------\n");
    return 0;
}

Output:

----------------------------
Element | Frequency
----------------------------
         1    |    2
         2    |    4
         8    |    1
         3    |    1
         5    |    1
----------------------------

JAVA

public class Frequency {
    
    public static void main(String[] args) {
        
        //Initialize array 
        int [] arr = new int [] {1, 2, 8, 3, 2, 2, 2, 5, 1}; 
        //Array fr will store frequencies of element
        int [] fr = new int [arr.length];
        int visited = -1;
      
        for(int i = 0; i < arr.length; i++){
            int count = 1;
            for(int j = i+1; j < arr.length; j++){
                if(arr[i] == arr[j]){
                    count++;
                    //To avoid counting same element again
                    fr[j] = visited;
                }
            }
            if(fr[i] != visited)
                fr[i] = count;
        }
      
        //Displays the frequency of each element present in array
        System.out.println("---------------------");
        System.out.println(" Element | Frequency");
        System.out.println("---------------------");
        for(int i = 0; i < fr.length; i++){
            if(fr[i] != visited)
                System.out.println("    " + arr[i] + "    |    " + fr[i]);
        }
        System.out.println("---------------------");
    }
}

Output:

----------------------------
Element | Frequency
----------------------------
         1    |    2
         2    |    4
         8    |    1
         3    |    1
         5    |    1
----------------------------

C#

using System;
                    
public class Frequency
{
    public static void Main()
    {
        //Initialize array 
        int [] arr = new int [] {1, 2, 8, 3, 2, 2, 2, 5, 1}; 
        //Array fr will store frequencies of element
        int [] fr = new int [arr.Length];
        int visited = -1;
      
        for(int i = 0; i < arr.Length; i++){
            int count = 1;
            for(int j = i+1; j < arr.Length; j++){
                if(arr[i] == arr[j]){
                    count++;
                    //To avoid counting same element again
                    fr[j] = visited;
                }
            }
            if(fr[i] != visited)
                fr[i] = count;
        }
      
        //Displays the frequency of each element present in array
        Console.WriteLine("---------------------");
        Console.WriteLine(" Element | Frequency");
        Console.WriteLine("---------------------");
        for(int i = 0; i < fr.Length; i++){
            if(fr[i] != visited)
                Console.WriteLine("    " + arr[i] + "    |    " + fr[i]);
        }
        Console.WriteLine("---------------------");
    }
}           

Output:

----------------------------
Element | Frequency
----------------------------
         1    |    2
         2    |    4
         8    |    1
         3    |    1
         5    |    1
----------------------------

PHP

<!DOCTYPE html>
<html>
<body>
<?php
//Initialize array 
$arr = array(1, 2, 8, 3, 2, 2, 2, 5, 1); 
    
//Array fr will store frequencies of element
$fr = array_fill(0, count($arr), 0);
$visited = -1;
 
for($i = 0; $i < count($arr); $i++){
        $count = 1;
        for($j = $i+1; $j < count($arr); $j++){
            if($arr[$i] == $arr[$j]){
                $count++;
                //To avoid counting same element again
                $fr[$j] = $visited;
            }
        }
        if($fr[$i] != $visited)
            $fr[$i] = $count;
}
    
//Displays the frequency of each element present in array
print("-------------------------<br>");
print("�Element | Frequency<br>");
print("-------------------------<br>");
for($i = 0; $i < count($fr); $i++){
    if($fr[$i] != $visited){
        //str_repeat('�', 6) is used to add extra whitespace in output
        print(str_repeat('�', 6) . $arr[$i] );
        print(str_repeat('�', 7) . "|" . str_repeat('�', 7) . $fr[$i]);
        print("<br>");
    }
}
print("-------------------------"); 
?>
</body>
</html>

Output:

----------------------------
Element | Frequency
----------------------------
         1    |    2
         2    |    4
         8    |    1
         3    |    1
         5    |    1
----------------------------

Next Topic#




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf