C++ STL 中的 multimap upper_bound() 函数

C++ STL 中的 multimap upper_bound() 函数

multimap::upper_bound(k) 是C++ STL中的内置函数,它返回一个迭代器,指向刚好大于 k 的下一个元素。如果参数中的键超过容器中的最大键,则返回的迭代器指向 key+1 和 element=0。

语法:

multimap_name.upper_bound(key)

参数: 该函数接受一个必填参数 key,该参数指定要返回其 lower_bound 的元素。

返回值: 该函数返回一个迭代器,指向刚好大于 k 的下一个元素。如果参数中的键超过容器中的最大键,则返回的迭代器指向 key+1 和 element=0。

// C++用于演示的函数
// multimap::upper_bound() 函数
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // 初始化容器
    multimap<int, int> mp;
  
    // 随机插入元素
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
    mp.insert({ 2, 60 });
    mp.insert({ 2, 20 });
    mp.insert({ 1, 50 });
    mp.insert({ 4, 50 });
  
    // 当 2 存在时
    auto it = mp.upper_bound(2);
    cout << "键为 2 的 upper bound 是 ";
    cout << (*it).first << " " << (*it).second << endl;
  
    // 当 3 不存在时
    it = mp.upper_bound(3);
    cout << "键为 3 的 upper bound 是 ";
    cout << (*it).first << " " << (*it).second << endl;
  
    // 当 5 超过最大键时
    it = mp.upper_bound(5);
    cout << "键为 5 的 upper bound 是 ";
    cout << (*it).first << " " << (*it).second;
    return 0;
}
键为 2 的 upper bound 是 4 50
键为 3 的 upper bound 是 4 50
键为 5 的 upper bound 是 6 0

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程