Q:

How to get the most frequent element of a list?

Let's say I have a list:
std::list<std::string> list ("the", "the", "friend", "hello", "the");
In this case, the most common element in the list is "the". Is there a way to get this element in C++??
Thanks!

A:

A general algorithm to solve your problem is to build a dictionary of word frequencies. Here is a pseudo code algorithm, that does exactly that:
let L be the input sequence of strings (can be a list, doesn't matter)
let F be an empty dictionary that maps string to a number
for each string S in L
    if not F contains S then
        F[S] = 0
    F[S] += 1

Once the dictionary is constructed, all you need to do is to find the mapping with the highest value, and return the key.
The C++ standard library provides associative containers (aka dictionaries, aka maps), and an algorithm for searching for the greatest element within a container.

