网站建设的基本流程包括什么,wordpress404页面模板,亿网网络科技有限公司,wordpress点击外链目录 STL-查找算法find
1.基本用法#xff1a;
2.查找自定义类型#xff1a;
3.查找范围#xff1a; STL-查找算法find
在C的STL#xff08;标准模板库#xff09;中#xff0c;find 算法用于在指定范围内查找指定值的元素。 功能描述#xff1a; 查找指定元素…目录 STL-查找算法find
1.基本用法
2.查找自定义类型
3.查找范围 STL-查找算法find
在C的STL标准模板库中find 算法用于在指定范围内查找指定值的元素。 功能描述 查找指定元素找到返回指定元素的迭代器找不到返回结束迭代器end() 函数原型 find(iterator beg, iterator end, value);// 按值查找元素找到返回指定位置迭代器找不到返回结束迭代器位置// beg 开始迭代器// end 结束迭代器// value 查找的元素 以下是使用 find 算法的一些基本示例
1.基本用法
#include iostream
#include algorithm
#include vector
using namespace std;int main() {vectorint numbers { 1, 2, 3, 4, 5, 6, 7, 8, 9 };// 使用 find 查找数字 5vectorint::iterator it find(numbers.begin(), numbers.end(), 5);if (it ! numbers.end()) {cout 找到了 *it endl;}else {cout 未找到 endl;}return 0;
}2.查找自定义类型
如果你在一个包含自定义类型的容器中查找元素需要确保自定义类型有相应的比较方式通常通过重载 运算符。
#include iostream
#include algorithm
#include vector
using namespace std;class Person {
public:string name;int age;Person() default;Person(string n,int a):name(n),age(a){}bool operator(const Person p) {return name p.name age p.age;}void print_person()const {cout name: name age: age;}
};void test02() {vectorPerson p;p.push_back(Person(xiaobai, 11));p.push_back(Person(xiaohong, 12));p.push_back(Person(xiaocheng, 13));p.push_back(Person(xiaohuang, 10));p.push_back(Person(xiaolv, 9));p.push_back(Person(xiaoqing, 12));p.push_back(Person(xiaolan, 11));p.push_back(Person(xiaozi, 10));vectorPerson::iterator itfind(p.begin(), p.end(), Person(xiaolv, 9));if (it p.end()) {cout 没有找到这个人 endl;}else {cout 找到了这个人 endl;it-print_person();}
}
int main() {test02();return 0;
} 这里的 Person 类重载了 运算符以便在查找时进行比较。
3.查找范围
你可以指定查找的范围而不是整个容器。
#include iostream
#include algorithm
#include vector
using namespace std;int main() {vectorint numbers { 1, 2, 3, 4, 5, 6, 7, 8, 9 };// 查找范围在前半部分vectorint::iterator it find(numbers.begin(), numbers.begin() 5, 3);if (it ! numbers.end()) {cout 找到了 *it endl;}else {cout 未找到 endl;}return 0;
}写在最后以上就是本篇文章的内容了感谢你的阅读。如果感到有所收获的话可以给博主点一个赞哦。如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~