Skip to content

Latest commit

 

History

History
13 lines (10 loc) · 944 Bytes

lower_bound()和upper_bound()有什么区别?.md

File metadata and controls

13 lines (10 loc) · 944 Bytes
  1. lower_bound():
    • 返回一个指向范围内第一个不小于(即大于或等于)给定值的元素的迭代器。
    • 如果给定值不存在于容器中,该函数返回指向第一个大于该值的元素的迭代器。如果所有元素都小于给定值,函数将返回一个指向容器末尾(end)的迭代器。
  2. upper_bound():
    • 返回一个指向范围内第一个大于给定值的元素的迭代器。
    • 如果所有元素都小于或等于给定值,函数将返回一个指向容器末尾(end)的迭代器。

举例说明:

假设我们有一个包含 {1, 2, 4, 4, 5, 6, 8} 的整数vector,并且我们想要搜索数字4。

  • 使用 lower_bound() 寻找4会返回指向第一个数字4的迭代器,因为4是数组中第一个"不小于"4的值。
  • 使用 upper_bound() 寻找4会返回指向数字5的迭代器,这是因为5是数组中第一个"大于"4的值。