lower bound函数怎么用?在c语言里需要加什么头文件?里面要填什么参数?返回值是什么?对这
lowerbound函数怎么用?在c语言里需要加什么头文件?里面要填什么参数?返回值是什么?对这个函数完全不熟悉,求指导!!!...
lower bound函数怎么用?在c语言里需要加什么头文件?里面要填什么参数?返回值是什么?对这个函数完全不熟悉,求指导!!!
展开
1个回答
展开全部
引用百度百科的分析:
lower bound返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值。
通俗一点就是调用这个函数能找到第一次大于或者等于你传入的value的值,比如说有一个序列:
a[] = {2,4,6,8,10,12,14,16,18};
这时候你传入一个value值11,这时候会进去找,从第一个,2肯定不是大于等于11,然后就会往后移,最后走到12的时候,刚好大于等于,因为只是取第一个大于等于他的,所以就会取出12这个值,同理,传入的值是12的时候得到的值也是12.
具体的参数:
类似于lower_bound(v.begin(),v.end(),val,compareByTwoKey());
v的定义是vector<这里填入你的类名> v;
compareByTwoKey()这是你需要写的比较函数,怎么比较在这里面进行操作。val就是你需要传进去的值。
百度百科里面有具体的例子,讲解的很详细,可以去看看,不明白继续追问。
lower bound返回一个 iterator 它指向在[first,last)标记的有序序列中可以插入value,而不会破坏容器顺序的第一个位置,而这个位置标记了一个不小于value 的值。
通俗一点就是调用这个函数能找到第一次大于或者等于你传入的value的值,比如说有一个序列:
a[] = {2,4,6,8,10,12,14,16,18};
这时候你传入一个value值11,这时候会进去找,从第一个,2肯定不是大于等于11,然后就会往后移,最后走到12的时候,刚好大于等于,因为只是取第一个大于等于他的,所以就会取出12这个值,同理,传入的值是12的时候得到的值也是12.
具体的参数:
类似于lower_bound(v.begin(),v.end(),val,compareByTwoKey());
v的定义是vector<这里填入你的类名> v;
compareByTwoKey()这是你需要写的比较函数,怎么比较在这里面进行操作。val就是你需要传进去的值。
百度百科里面有具体的例子,讲解的很详细,可以去看看,不明白继续追问。
追问
到底是啥?我就想知道图片上给的begin,idnex和last上面放点啥。。
追答
v.begin(),v.end(),val
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询