今天我们来认识一下下面三个有关于二分查找的函数
- lower_bound(起始地址,结束地址,要查找的数值)
- upper_bound(起始地址,结束地址,要查找的数值)
- binary_search(起始地址,结束地址,要查找的数值)
注意事项
- 前两个函数既可用于升序数列,也可用于降序数列。第三个函数仅可用于升序数列。
- 这三个函数参数中的区间都是左闭右开。
1.lower_bound( )
该函数返回的是在该有序数列中,大于等于要查找的数值的第一个元素的地址。
故要查找该元素的下标,可用返回的地址减去首地址。
2.upper_bound( )
该函数返回的是在该有序数列中,大于要查找的数值的第一个元素的地址。
故要查找该元素的下标,可用返回的地址减去首地址。
3.binary_search( )
该函数返回的是一个bool值,若在该升序数列中有要查找的值,则返回1。否则返回 0。
学习厌倦了?点我有更多精彩哦!