给定一个向量和要在向量中搜索的元素。
要检查向量中是否存在元素–我们使用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