C++实用函数

本文介绍了C++中的三个实用查找函数:lower_bound用于找到大于或等于目标值的第一个元素;upper_bound则找到大于目标值的第一个元素;binary_search判断区间是否存在目标值。这些函数的前提条件是操作的区间需有序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++实用函数

lower_bound

  • 用法:lower_bound(起始位置,结束位置,数值val)
  • 作用:返回区间中第一个大于或等于val的元素地址
  • 注意点:
    1. 区间是左闭右开
    2. 前提是有序数组(或者这一区间有序)
    3. 如果所有元素都小于val,则返回结束地址(越界)
//找到数组中第一个大于或等于10的元素下标
int m = lower_bound(s.begin(), s.end(), 10) - s.begin();

upper_bound

  • 用法:upper_bound(起始位置,结束位置,数值val)
  • 作用:返回区间第一个大于val的元素地址
  • 注意点:同上
//从下标为5开始,从数组中找到第一个大于5的元素下标
int m = upper_bound(s.begin()+5, s.end(), 5) - s.begin();

binary_search

  • 用法:binary_bound(起始位置,结束位置,数值val)
  • 作用:返回区间中是否有等于数值val
  • 注意点:同上
//二分查找返回布尔类型
bool flag = binary_search(s.begin(), s.end(), 4);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值