如何解决C++ 中lower_bound() stl 函数中的自定义比较器
#include<iostream>
#include<algorithm>
using namespace std;
bool compare(int a,int b){
cout<<a<<" "<<b<<endl;
return a<=b;
}
int main()
{ int n;
cin>>n;
int a[n]={1,2,5,10,50,100,200,500,2000};
int money=100;
int it =lower_bound(a,a+n,money,compare)-a;
cout<<a[it];
return 0;
}
在这段代码中,我为 lower_bound()
制作了一个自定义比较器,因此它最终应该输出 100(如在 lst compare 100
解决方法
对,正如亚达夫所说。您还可以查看关于比较要求的 cppreference:
comp - 二元谓词,如果第一个参数小于(即排在前面)第二个参数,则返回 true。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。