📅  最后修改于: 2023-12-03 15:13:55.375000             🧑  作者: Mango
search_n()
函数是C++标准库中的STL算法之一,用于在一个序列中查找连续的n个元素的第一个出现位置。
template <class ForwardIterator, class Size, class T>
ForwardIterator search_n(ForwardIterator first, ForwardIterator last, Size count, const T& value);
first
和last
:定义要搜索的范围,表示要搜索的范围的开始和结束迭代器count
:指定要搜索的元素的连续数量value
:指定要搜索的元素的值如果在指定范围内找到了匹配的连续元素,则返回指向第一个匹配元素的迭代器,否则返回last
。
以下是一个简单的示例,演示了如何使用search_n()
函数查找一个序列中的连续的三个元素2
:
#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
std::vector<int> vec = { 0, 1, 2, 2, 2, 3, 4, 5 };
auto it = std::search_n(vec.begin(), vec.end(), 3, 2);
if (it != vec.end())
{
std::cout << "Found at position: " << std::distance(vec.begin(), it) << "\n";
}
else
{
std::cout << "Not found\n";
}
return 0;
}
输出:
Found at position: 2
以上示例中,search_n()
函数在vec
中查找连续的三个元素2
,由于在下标为2的位置找到了这个序列,因此程序输出Found at position: 2
。
search_n()
函数用于在一个序列中查找连续的n个元素的第一个出现位置。last
。search_n()
函数,可以轻松地搜索特定值的序列。