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

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

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

语法:

key_compare multiset_name.key_comp();

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

返回值: 该函数返回容器使用的比较对象的副本。

以下示例说明了multiset :: key_comp()方法:

示例1:

// C++ program to illustrate the
// multiset::key_comp() function
  
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Creating a multiset named m;
    multiset<int> m;
  
    multiset<int>::key_compare
        comp
        = m.key_comp();
  
    // Inserting elements into multiset
    m.insert(10);
    m.insert(20);
    m.insert(30);
    m.insert(40);
  
    cout << "Multiset has the elements\n";
  
    // Store key value of last element
    int highest = *m.rbegin();
  
    // initializing the iterator
    multiset<int>::iterator it = m.begin();
  
    // printing elements of all multiset
    do {
  
        cout << " " << *it;
  
    } while (comp(*it++, highest));
  
    return 0;
}
Multiset has the elements
 10 20 30 40

示例2:

// C++ program to illustrate the
// multiset::key_comp() function
  
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
    // Creating a multiset named m;
    multiset<int> m;
  
    multiset<int>::key_compare
        comp
        = m.key_comp();
  
    // Inserting elements into multiset
    m.insert(100);
    m.insert(200);
    m.insert(300);
    m.insert(400);
  
    cout << "Multiset has the elements\n";
  
    // Store key value of last element
    int highest = *m.rbegin();
  
    // initializing the iterator
    multiset<int>::iterator it = m.begin();
  
    // printing elements of all multiset
    do {
  
        cout << " " << *it;
  
    } while (comp(*it++, highest));
  
    return 0;
}
Multiset has the elements
 100 200 300 400

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程