How to find the Item with Maximum Number of Occurrences in a Vector in C++


How to find the Item with Maximum Number of Occurrences in a Vector in C++ ?

Answer

To find the item with the maximum number of occurrences in a Vector in C++, you can use an unordered_map to count the occurrences of each item and then find the item with the maximum count.



✐ Examples

1 Find Item with Maximum Occurrences in a Vector of Strings

In this example,

  1. We start by including the necessary headers: #include <iostream>, #include <vector>, and #include <unordered_map> for using input-output streams, vectors, and unordered maps respectively.
  2. We create a vector named vec containing several string elements.
  3. We create an unordered_map named counts to store the occurrences of each string in the vector. The keys of the unordered_map will be the strings, and the values will be their counts.
  4. We use a for loop to iterate through each element in the vector. For each element, we increment its count in the unordered_map.
  5. We initialize two variables, max_item and max_count, to keep track of the item with the maximum occurrences and its count. max_item is initialized as an empty string, and max_count is initialized to 0.
  6. We iterate through the unordered_map to find the item with the highest count. If we find an item with a count higher than max_count, we update max_item and max_count.
  7. Finally, we print the item with the maximum number of occurrences to standard output using std::cout.

C++ Program

#include <iostream>
#include <vector>
#include <unordered_map>

int main() {
    // Step 2: Create a vector of strings
    std::vector<std::string> vec = {"apple", "banana", "apple", "orange", "banana", "apple"};
    
    // Step 3: Create an unordered_map to count occurrences
    std::unordered_map<std::string, int> counts;
    
    // Step 4: Count occurrences of each item in the vector
    for (const auto& item : vec) {
        counts[item]++;
    }
    
    // Step 5: Initialize variables to find the item with the maximum occurrences
    std::string max_item;
    int max_count = 0;
    
    // Step 6: Iterate through the unordered_map to find the item with the highest count
    for (const auto& pair : counts) {
        if (pair.second > max_count) {
            max_item = pair.first;
            max_count = pair.second;
        }
    }
    
    // Step 7: Print the item with the maximum occurrences
    std::cout << "Item with maximum occurrences: " << max_item << std::endl;
    
    return 0;
}

Output

Item with maximum occurrences: apple

2 Find Item with Maximum Occurrences in a Vector of Integers

In this example,

  1. We start by including the necessary headers: #include <iostream>, #include <vector>, and #include <unordered_map> for using input-output streams, vectors, and unordered maps respectively.
  2. We create a vector named vec containing several integer elements.
  3. We create an unordered_map named counts to store the occurrences of each integer in the vector. The keys of the unordered_map will be the integers, and the values will be their counts.
  4. We use a for loop to iterate through each element in the vector. For each element, we increment its count in the unordered_map.
  5. We initialize two variables, max_item and max_count, to keep track of the item with the maximum occurrences and its count. max_item is initialized as 0, and max_count is initialized to 0.
  6. We iterate through the unordered_map to find the item with the highest count. If we find an item with a count higher than max_count, we update max_item and max_count.
  7. Finally, we print the item with the maximum number of occurrences to standard output using std::cout.

C++ Program

#include <iostream>
#include <vector>
#include <unordered_map>

int main() {
    // Step 2: Create a vector of integers
    std::vector<int> vec = {1, 2, 3, 1, 2, 1, 4, 1, 5, 1};
    
    // Step 3: Create an unordered_map to count occurrences
    std::unordered_map<int, int> counts;
    
    // Step 4: Count occurrences of each item in the vector
    for (const auto& item : vec) {
        counts[item]++;
    }
    
    // Step 5: Initialize variables to find the item with the maximum occurrences
    int max_item = 0;
    int max_count = 0;
    
    // Step 6: Iterate through the unordered_map to find the item with the highest count
    for (const auto& pair : counts) {
        if (pair.second > max_count) {
            max_item = pair.first;
            max_count = pair.second;
        }
    }
    
    // Step 7: Print the item with the maximum occurrences
    std::cout << "Item with maximum occurrences: " << max_item << std::endl;
    
    return 0;
}

Output

Item with maximum occurrences: 1

Summary

In this tutorial, we learned How to find the Item with Maximum Number of Occurrences in a Vector in C++ language with well detailed examples.




More C++ Vectors Tutorials

  1. How to create an Empty Vector in C++ ?
  2. How to Initialize a Vector in C++ ?
  3. How to Get Length of a Vector in C++ ?
  4. How to create a Vector of Size N in C++ ?
  5. How to create a Vector of Numbers from 1 to N in C++ ?
  6. How to create a Vector of Integers in C++ ?
  7. How to create a Vector of Strings in C++ ?
  8. How to create a Vector of Empty Vectors in C++ ?
  9. How to Access Items in a Vector in C++ ?
  10. How to get Item in a Vector at a Specific Index in C++ ?
  11. How to get First Item in a Vector in C++ ?
  12. How to get Last Item in a Vector in C++ ?
  13. How to Iterate Over a Vector in C++ ?
  14. How to Iterate Over a Vector with Index in C++ ?
  15. How to Iterate Over a Vector in Reverse Order in C++ ?
  16. How to check if a Vector is Empty in C++ ?
  17. How to check if a Vector is Not Empty in C++ ?
  18. How to get Sub Vector in C++ ?
  19. How to get the Index of Specified Item in a Vector in C++ ?
  20. How to check if a Specific Item is present in the Vector in C++ ?
  21. How to check if a Vector contains all the items of Another Vector in C++ ?
  22. How to count the Number of Occurrences of Specific Item in the Vector in C++ ?
  23. How to find the Item with Maximum Number of Occurrences in a Vector in C++ ?
  24. How to find the Item with Minimum Number of Occurrences in a Vector in C++ ?
  25. How to Sort a Vector in C++ ?
  26. How to Sort a Vector in Ascending Order in C++ ?
  27. How to Sort a Vector in Descending Order in C++ ?
  28. How to create a Two Dimensional Vector in C++ ?
  29. How to Iterate over a Two Dimensional Vector in C++ ?
  30. How to create a Three Dimensional Vector in C++ ?
  31. How to Copy a Vector in C++ ?
  32. How to Split a Vector in C++ ?
  33. How to Join Vectors in C++ ?
  34. How to Append an Item to a Vector in C++ ?
  35. How to Insert an Item at Specific Index in a Vector in C++ ?
  36. How to Append a Vector to another Vector in C++ ?
  37. How to Concatenate Two Vectors in C++ ?
  38. How to check if Two Vectors are Equal in C++ ?
  39. How to check if Two Vectors have Same Items (Regardless of Order) in C++ ?
  40. How to Convert a Vector of Integers to a Vector of Strings in C++ ?
  41. How to Convert a Vector of Strings to a Vector of Integers in C++ ?
  42. How to Convert a Vector of Floats to a Vector of Strings in C++ ?
  43. How to Convert a Vector of Strings to a Vector of Floats in C++ ?
  44. How to Reverse a Vector in C++ ?
  45. How to Shuffle a Vector in C++ ?
  46. How to Slice a Vector in C++ ?
  47. How to get First N Items from a Vector in C++ ?
  48. How to get Last N Items from a Vector in C++ ?
  49. How to Rotate Items in a Vector in C++ ?
  50. How to Filter Items of a Vector based on a Condition in C++ ?
  51. How to Remove Duplicates in a Vector in C++ ?
  52. How to Remove Item at a Specific Index from a Vector in C++ ?
  53. How to Remove Specific Item from a Vector in C++ ?
  54. How to Remove Items from Vector based on a Condition in C++ ?
  55. How to Sort a String Vector in Dictionary Order in C++ ?
  56. How to Concatenate Strings in Vector in C++ ?
  57. How to create a Vector of Vectors in C++ ?