Skip to content
Related Articles
Frequency of each character in a String using unordered_map in C++
• Difficulty Level : Basic
• Last Updated : 26 Oct, 2020

Given a string str, the task is to find the frequency of each character of a string using an unordered_map in C++ STL.

Examples:

Input: str = “geeksforgeeks”
Output:
r 1
e 4
s 2
g 2
k 2
f 1
o 1

Input: str = “programming”
Output:
n 1
i 1
p 1
o 1
r 2
a 1
g 2
m 2

Approach:

1. Traverse each character of the given string str.
2. Check whether the current character is present in unordered_map or not.
3. If it is present, then update the frequency of the current characters else insert the characters with frequency 1 as shown below:
```if(M.find(s[i])==M.end()) {
M.insert(make_pair{s[i], 1});
}
else {
M[s[i]]++;
}
```

4. Traverse the unordered_map and print the frequency of each characters stored as a mapped value.

Below is the implementation of the above approach:

## CPP

 `// C++ program for the above approach``#include ``using` `namespace` `std;` `void` `printFrequency(string str)``{``    ``// Define an unordered_map``    ``unordered_map<``char``, ``int``> M;` `    ``// Traverse string str check if``    ``// current character is present``    ``// or not``    ``for` `(``int` `i = 0; str[i]; i++)``    ``{``        ``// If the current characters``        ``// is not found then insert``        ``// current characters with``        ``// frequency 1``        ``if` `(M.find(str[i]) == M.end())``        ``{``            ``M.insert(make_pair(str[i], 1));``        ``}` `        ``// Else update the frequency``        ``else``        ``{``            ``M[str[i]]++;``        ``}``    ``}` `    ``// Traverse the map to print the``    ``// frequency``    ``for` `(``auto``& it : M) {``        ``cout << it.first << ``' '` `<< it.second << ``'\n'``;``    ``}``}` `// Driver Code``int` `main()``{``    ``string str = ``"geeksforgeeks"``;` `    ``// Function call``    ``printFrequency(str);``    ``return` `0;``}`
Output
```r 1
e 4
s 2
g 2
k 2
f 1
o 1
```
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up