C++ STL中的multiset::upper_bound()及其示例

C++ STL中的multiset::upper_bound()及其示例

multiset::upper_bound() 是C++ STL中的一个内置函数,它返回一个迭代器,该迭代器指向刚好大于k的下一个元素。如果传递给参数的键超过了容器中的最大键,则返回的迭代器指向容器中最后一个元素后面的位置。

语法:

multiset_name.upper_bound(key)

参数: 此函数接受一个单一的必需参数键,该键指定要返回其upper_bound的元素。

返回值: 该函数返回一个迭代器。

以下程序说明了上述函数:

程序1:

//演示multiset :: upper_bound()函数的C ++程序
#include <bits/stdc++.h>
using namespace std;
int main()
{
    multiset<int> s;
    //向multiset容器中插入元素的函数
    s.insert(1);
    s.insert(3);
    s.insert(3);
    s.insert(5);
    s.insert(4);
    cout << "multiset的元素为:";
    for (auto it = s.begin(); it!= s.end(); it ++)
        cout << *it << " ";
    //当3存在时
    auto it = s.upper_bound(3);
    cout << "键3的上限为";
    cout << (*it) << endl;
    //当2不存在时,指向大于2的下一个元素
    it = s.upper_bound(2);
    cout << "键2的上限为";
    cout << (*it) << endl;
    //当10超过了multiset中的最大元素
    it = s.upper_bound(10);
    cout << "键10的上限为";
    cout << (*it) << endl;
    return 0;
}  

输出:

multiset的元素为:1 3 3 4 5 
键3的上限为4
键2的上限为3
键10的上限为5

程序2:

//演示multiset :: upper_bound()函数的C ++程序
#include <bits/stdc++.h>
using namespace std;
int main()
{
    multiset<int> s;
    //向multiset容器中插入元素的函数
    s.insert(10);
    s.insert(13);
    s.insert(13);
    s.insert(25);
    s.insert(24);
    cout << "multiset的元素为:";
    for (auto it = s.begin(); it!= s.end(); it ++)
        cout << *it << " ";
    //当10存在时
    auto it = s.upper_bound(10);
    cout << "键10的上限为";
    cout << (*it) << endl;
    //当2不存在时,指向大于2的下一个元素
    it = s.upper_bound(2);
    cout << "键2的上限为";
    cout << (*it) << endl;
    //当24超过了multiset中的最大元素
    it = s.upper_bound(24);
    cout << "键24的上限为";
    cout << (*it) << endl;
    return 0;
}  

输出:

multiset的元素为:10 13 13 24 25 
键10的上限为13
键2的上限为10
键24的上限为25

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程