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; }
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; }
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