【发布时间】:2021-07-12 11:56:09
【问题描述】:
#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(因为在第一次比较中 100
【问题讨论】:
-
请以文字而非图片的形式发布代码。您的比较器返回小于或等于,
std::lower_bound预计小于 -
作为这里的新用户,也请收下tour并阅读How to Ask。
-
您好,欢迎您!请不要分享您的代码图片,而是复制问题中的代码(这就是人们首先投票结束您的问题的原因)。这次我为你做了,向你展示如何做到这一点。作为记录,我从i.stack.imgur.com/m1M04.png复制了你的代码
标签: c++ algorithm sorting data-structures stl