C++ Multiset lower_bound()

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

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

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

语法

参数

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

返回值

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

复杂度

大小的对数。

迭代器有效性

无变化。

数据竞争

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

同时访问容器元素是安全的。

异常安全

如果抛出异常,多重集不会发生任何变化。

示例 1

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

输出

Lower bound(=) of c is: c

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

示例 2

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

输出

mymultiset contains: 10 20 70 80 90

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

示例 3

让我们看一个简单的例子

输出

The element of multiset s1 with a key of 20 is: 20.
The multiset 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

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

下一个主题C++ multiset