función multiset key_comp() en C++ STL

El std::multiset::key_comp() es una función incorporada en C++ STL que devuelve una copia del objeto de comparación utilizado por el contenedor. De forma predeterminada, este es un objeto menos, que devuelve lo mismo que el operador ‘<‘. Es un puntero de función o un objeto de función que toma dos argumentos del mismo tipo que los elementos del contenedor y devuelve verdadero si se considera que el primer argumento ir antes del segundo en el estricto orden débil que define o falso en caso contrario. Dos claves se consideran equivalentes si key_comp devuelve false de forma refleja (es decir, sin importar el orden en que se pasan las claves como argumentos).

Sintaxis:

key_compare multiset_name.key_comp();

Parámetro: Esta función no acepta ningún parámetro.

Valores devueltos: la función devuelve una copia del objeto de comparación utilizado por el contenedor.

Los siguientes ejemplos ilustran el método multiset::key_comp():

Ejemplo 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;
}
Producción:

Multiset has the elements
 10 20 30 40

Ejemplo 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;
}
Producción:

Multiset has the elements
 100 200 300 400

Publicación traducida automáticamente

Artículo escrito por ankit15697 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *