Horje
Find All Occurrences of an Element in a Vector

In C++, std::vector is a dynamic array that stores elements in a similar way to C-style arrays, but it is automatically resizable and provides some built-in functions for different operations. In this article, we will learn how to find the indexes of all occurrences of an element within a vector in C++.

For example,

Input:
myVector = {2,3,2,1,5,4,2};
element = 2

Output:
The element 2 occurred at indices : 0, 2, 6

Find All Occurrences of an Element in a Vector

The C++ STL provides the std::find() function, which returns the first occurrence of a given element in a container. We can use this function with vectors and keep searching for the given element repeatedly till the end to find all the occurrences.

C++ Program To Find All Occurrences of an Element in Vector

C++

// C++ Program to Find All Occurrences of an Element in a
// Vector
#include <algorithm>
#include <iostream>
#include <vector>
  
using namespace std;
  
int main()
{
    // Initialize a vector array
    vector<int> arr = { 2, 3, 2, 1, 5, 4, 2 };
  
    // Element to search
    int element = 2;
  
    // Find the first occurrence of the element in the
    // vector
    auto it = find(arr.begin(), arr.end(), element);
  
    // Check if the element was found
    cout << "The element " << element
         << " occurred at indices: ";
    while (it != arr.end()) {
        // Print the index of the element
        cout << it - arr.begin() << ", ";
        // Search for the next occurrence and keeping
        // beggining of the range after the currenly found
        // occurence to avoid infinite loop
        it = find(it + 1, arr.end(), element);
    }
    cout << endl;
  
    return 0;
}

Output

The element 2 occurred at indices: 0, 2, 6, 

Time Complexity: O(N), because std::find() implements linear search.
Auxiliary Space:  O(1)




Reffered: https://www.geeksforgeeks.org


C++

Related
How to Find the Size of a Vector in C++? How to Find the Size of a Vector in C++?
How to Find a Pair by Key in a Vector of Pairs in C++? How to Find a Pair by Key in a Vector of Pairs in C++?
How to Compare Two Pairs in C++? How to Compare Two Pairs in C++?
How to Find the Size of an Array Using Pointer to its First Element? How to Find the Size of an Array Using Pointer to its First Element?
How to Read a File Using ifstream in C++? How to Read a File Using ifstream in C++?

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
14