low_bound()
low_bound(beg, end, num, comp)
参数
- 数组要
low_bound()
的起始地址 - 数组要
low_bound()
的截止地址 - 要二分查找的那个数
greater<int>()
代表降序,less<int>()
代表升序,默认是升序,也就是数组元素从小到大排列
返回值
返回第一次出现
>
=
n
u
m
>=num
>=num的数的地址
注意
- 返回值是地址,不是查询的数的下标
- > = >= >=
理解:
a
[
5
]
=
{
1
,
1
,
2
,
3
,
5
}
a[5]=\{1, 1, 2, 3, 5\}
a[5]={1,1,2,3,5}
l
o
w
_
b
o
u
n
d
(
a
,
a
+
5
,
2
)
→
low\_bound(a, a + 5, 2) \to
low_bound(a,a+5,2)→返回第一个
>
=
2
>=2
>=2的数
2
2
2
upper_bound()
upper_bound
函数的用法low_bound
函数的用法相似,不过不同的是返回值返回的是一个比要找的树大的地址
(
>
(>
(>無等号
)
)
)
理解:
a
[
5
]
=
{
1
,
1
,
2
,
2
,
4
}
a[5] = \{1, 1, 2, 2, 4\}
a[5]={1,1,2,2,4}
u
p
p
e
r
_
b
o
u
n
d
(
a
,
a
+
5
,
3
)
→
upper\_bound(a, a + 5, 3)\to
upper_bound(a,a+5,3)→返回第一个
>
3
>3
>3的数
4
4
4