C ++ STL中的multiset value_comp()方法

C ++ STL中的multiset value_comp()方法

std :: multiset :: value_comp 是C ++ STL中的内置函数,它返回容器使用的比较对象的副本。默认情况下,这是一个less对象,它返回与运算符“<”相同的内容。它是一个函数指针或函数对象,它将两个与容器元素相同类型的参数作为输入,并在其严格弱顺序定义中将第一个参数视为在第二个参数之前,如果否则返回false。如果key_comp反射性地返回false(即无论键以何种顺序作为参数传递),则认为两个键相等。

语法:

value_compare multiset_name.value_comp() 

参数: 此函数不接受任何参数。

返回值: 该函数返回容器使用的比较对象的副本。以下示例说明上述方法:

示例1:

// C ++程序说明
// multiset :: value_comp()函数
 
包括&lt; bits / stdc ++.h&gt;
使用命名空间std;
 
int main()
{
 
    //创建名为m的多重集合;
    multiset<int> m;
 
    multiset<int> :: value_compare
        comp
        = m.value_comp();
 
    //将元素插入多重集合中
    m.insert(10);
    m.insert(20);
    m.insert(30);
    m.insert(40);
 
    cout << “Multiset has the elements \ n”;
 
    //存储最后一个元素的键值
    int highest =*m.rbegin();
 
    //初始化迭代器
    multiset<int> :: iterator it = m.begin();
 
    //打印所有多重集合的元素
    do  {
 
        cout << “” << *it;
 
    } while (comp(*it ++,highest));
 
    返回0;
}

输出:

Multiset has the elements
 10 20 30 40

示例2:

// C ++程序说明
// multiset :: value_comp()函数
 
包括&lt; bits / stdc ++.h&gt;
使用命名空间std;
 
int main()
{
 
    //创建名为m的多重集合;
    multiset<int> m;
 
    multiset<int> :: value_compare
        comp
        = m.value_comp();
 
    //将元素插入多重集合中
    m.insert(100);
    m.insert(200);
    m.insert(300);
    m.insert(400);
 
    cout << “Multiset has the elements \ n”;
 
    //存储最后一个元素的键值
    int highest =* m.rbegin();
 
    //初始化迭代器
    multiset<int> ::iterator it = m.begin();
 
    //打印所有多重集合的元素
    do  {
 
        cout << “” << *it;
 
    } while (comp(*it ++,highest));
 
    返回0;
}

输出:

Multiset has the elements
 100 200 300 400

时间复杂度: O(n)。// n是多重集合的大小。

辅助空间: O(1)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程