Check if an element exists in vector in C++

Hey folks! Here, we are going to check if an element exists in a vector or not in C++. In general, you can find element in a vector using std functions. This returns an iterator to the element of it’s first occurrence.

Algorithm:

Here, we are going to discuss two methods.

  1. Looping through vector
  2. Using std::find() method

Syntax:

Vector      : vector<int>v;
Iteration   : for(auto it:v){}
Find method : Iterator find (Iterator firstElement, Iterator lastElement, int val);
{where iterator = vector<int>:: iterator it;

C++ program to check if an element exists in vector

#include<bits/stdc++.h>
using namespace std;
int main ()
{
  std::vector<int> v { 1, 2 , 3, 4 };
  
  // Method 1: Iterating over vector

 // The element that will be searched
  int ele1 = 3;
  bool found = false;
  for(auto it:v){
    if(it==ele1){
      cout<<"Element " <<ele1<< " discovered ."<<endl;
      found = true;
      break;
    }
  }
  if(!found)
      cout<<"Element not found."<<endl;

  // Method 2: Using std::find() function

  // The element that will be searched
  int ele = 5;
  
  if (std::find(v.begin(), v.end(), ele) != v.end())
    cout<<"Element " <<ele<< " discovered .";
  else
    cout<<"Element not found.\n";
        
  return 0;
}

Time Complexity:

Both functions take O(N) time complexity as iteration is done all over the vector in the worst case and std function too.

Output:

Element 3 discovered.
Element not found.

Also read: How to remove elements from a vector inside a loop in C++

Leave a Reply

Your email address will not be published. Required fields are marked *