给定一个向量和要在向量中搜索的元素。
要检查向量中是否存在元素–我们使用find()函数。find()函数接受3个参数。
语法:
find(InputIterator first, InputIterator last, const T& element);
参数:
InputIterator first –指向第一个元素(或我们必须从其开始搜索的元素)的迭代器。
InputIterator last –指向最后一个元素(或直到现在我们必须找到该元素的元素)的迭代器。
element –和要搜索的相同类型的元素。
如果元素存在–它将迭代器返回到与元素(等于要搜索的元素)相等的范围内的第一个元素。如果该元素不存在,则该函数最后返回。
//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