C++ set lower_bound()

2024年8月30日 | 阅读4分钟

C++ set lower_bound() 函数用于返回一个指向 set 容器中与参数 val 等效的键的迭代器。

如果 val 不存在于 set 容器中,它将返回一个指向紧邻的下一个元素(即刚大于 val 的元素)的迭代器。

语法

参数

val:要在 set 容器中搜索的值。

返回值

它返回一个指向 set 容器中与参数 val 等效的值的迭代器。如果不存在此类元素,则返回 end()。

复杂度

大小的对数。

迭代器有效性

无变化。

数据竞争

容器被访问(const 和 non-const 版本都不会修改容器)。

并发访问 set 的元素是安全的。

异常安全

如果抛出异常,容器中没有变化。

示例 1

让我们看一个简单的例子来获取给定键的下界

输出

Lower bound is(=) c

在上面的例子中,c 的下界是 c。

示例 2

让我们看一个简单的例子,从下界到上界擦除 set 的元素

输出

myset contains: 10 20 70 80 90

在上面的例子中,erase() 函数从下界(=)到上界(>)擦除了 set 的元素,并打印了剩余内容。

示例 3

让我们看一个简单的例子

输出

The element of set s1 with a key of 20 is: 20.
The set s1 doesn't have an element with a key of 40.
The element of s1 with a key matching that of the last element is: 30.

示例 4

让我们看一个简单的例子

输出

Elements are: 
1
2
4
5
The lower bound of key 2 is 2
The lower bound of key 3 is 4
The lower bound of key 6 is 4

在上面的例子中,当我们尝试查找超出容器或不存在于 set 容器中的值的下界时,它将返回到末尾。