如何检查C ++ STL中的向量中是否存在元素?

给定一个向量和要在向量中搜索的元素。

检查向量中是否存在元素–我们使用find()函数find()函数接受3个参数。

语法:

    find(InputIterator first, InputIterator last, const T& element);

参数:

  • InputIterator first –指向第一个元素(或我们必须从其开始搜索的元素)的迭代器。

  • InputIterator last –指向最后一个元素(或直到现在我们必须找到该元素的元素)的迭代器。

  • element –和要搜索的相同类型的元素。

如果元素存在–它将迭代器返回到与元素(等于要搜索的元素)相等的范围内的第一个元素。如果该元素不存在,则该函数最后返回。

C ++ STL程序,用于检查向量中是否存在给定元素

//C ++ STL程序检查是否给定
//向量中是否存在元素
#include <iostream>
#include <vector> //对于矢量
#include <algorithm> //对于find()using namespace std;

int main(){

    int element; //要搜索的元素
    //初始化向量
    vector<int> v1{ 10, 20, 30, 40, 50 };

    //输入元素
    cout << "Enter an element to search: ";
    cin >> element;

    vector<int>::iterator it = find(v1.begin(), v1.end(), element);
    if (it != v1.end()) {
        cout << "Element " << element << " found at position : ";
        cout << it - v1.begin() + 1 << endl;
    }
    else {
        cout << "Element " << element << " does not found" << endl;
    }

    return 0;
}

输出结果

First run:
Enter an element to search: 30
Element 30 found at position : 3

Second run:
Enter an element to search: 60
Element 60 does not found