📜  C++ STL中的multiset find()函数(1)

📅  最后修改于: 2023-12-03 15:29:50.870000             🧑  作者: Mango

C++ STL中的multiset find()函数

在C++的STL库中,multiset是一个可以包含多个相同键的有序集合。multiset中存储的元素是按键值排序的,并且每个元素都可以有多个副本。

multiset包含了一个名为find()的成员函数,用于查找指定键值的元素。如果在multiset中找到了该键值,find()函数将返回指向该元素的迭代器;否则,返回指向multiset结尾的迭代器。

下面是一个简单的例子:

#include <iostream>
#include <set>

int main()
{
    std::multiset<int> myset = {1, 2, 2, 3, 4, 5, 5};
    std::multiset<int>::iterator iter = myset.find(3);
    if (iter != myset.end())
        std::cout << "3 is found in the set!" << std::endl;
    else
        std::cout << "3 is not found in the set!" << std::endl;
}

输出结果为:

3 is found in the set!

可以发现,我们通过调用multiset的find()函数,成功地查找到了元素3,并输出了一条相应的提示信息。

需要注意的是,在multiset中存在多个相同键值的元素时,find()函数将只会返回其中一个元素的迭代器。如果需要查找multiset中所有符合条件的元素,需要使用multiset的equal_range()函数。

总而言之,在C++ STL中,multiset是一个非常有用的有序集合,可以高效地存储和查找多个相同键值的元素。而find()函数则是在multiset中查找指定键值的一个重要工具。