multiset upper_bound() en C++ STL con ejemplos

El multiset::upper_bound() es una función incorporada en C++ STL que devuelve un iterador que apunta al siguiente elemento inmediato que es mayor que k. Si la clave pasada en el parámetro excede la clave máxima en el contenedor, entonces el iterador devolvió puntos un elemento que apunta a la posición después del último elemento en el contenedor. 

Sintaxis:  

multiset_name.upper_bound(key)

Parámetros: esta función acepta una única clave de parámetro obligatoria que especifica el elemento cuyo límite superior se va a devolver.

Valor devuelto: la función devuelve un iterador. 

Los siguientes programas ilustran la función anterior: 

Programa 1:  

C++

// C++ program to demonstrate the
// multiset::upper_bound() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
 
    multiset<int> s;
 
    // Function to insert elements
    // in the multiset container
    s.insert(1);
    s.insert(3);
    s.insert(3);
    s.insert(5);
    s.insert(4);
 
    cout << "The multiset elements are: ";
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
 
    // when 3 is present
    auto it = s.upper_bound(3);
    cout << "\nThe upper bound of key 3 is ";
    cout << (*it) << endl;
 
    // when 2 is not present
    // points to next greater after 2
    it = s.upper_bound(2);
    cout << "The upper bound of key 2 is ";
    cout << (*it) << endl;
 
    // when 10 exceeds the max element in multiset
    it = s.upper_bound(10);
    cout << "The upper bound of key 10 is ";
    cout << (*it) << endl;
 
    return 0;
}
Producción: 

The multiset elements are: 1 3 3 4 5 
The upper bound of key 3 is 4
The upper bound of key 2 is 3
The upper bound of key 10 is 5

 

Programa 2: 

C++

// C++ program to demonstrate the
// multiset::upper_bound() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
 
    multiset<int> s;
 
    // Function to insert elements
    // in the multiset container
    s.insert(10);
    s.insert(13);
    s.insert(13);
    s.insert(25);
    s.insert(24);
 
    cout << "The multiset elements are: ";
    for (auto it = s.begin(); it != s.end(); it++)
        cout << *it << " ";
 
    // when 10 is present
    auto it = s.upper_bound(10);
    cout << "\nThe upper bound of key 10 is ";
    cout << (*it) << endl;
 
    // when 2 is not present
    // points to next greater after 2
    it = s.upper_bound(2);
    cout << "The upper bound of key 2 is ";
    cout << (*it) << endl;
 
    // when 24 exceeds is the max element
    it = s.upper_bound(24);
    cout << "The upper bound of key 24 is ";
    cout << (*it) << endl;
 
    return 0;
}
Producción

The multiset elements are: 10 13 13 24 25 
The upper bound of key 10 is 13
The upper bound of key 2 is 10
The upper bound of key 24 is 25

Todas las funciones de multiset

Publicación traducida automáticamente

Artículo escrito por gopaldave 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 *