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

c++server side programmingprogramming

本文将讨论 C++ STL 中 multimap::lower_bound() 函数的工作原理、语法和示例。

C++ STL 中的 Multimap 是什么?

Multimap 是一种关联容器,类似于 Map 容器。它能够以特定顺序存储由键值对和映射值组合而成的元素。在 Multimap 容器中,同一个键可以关联多个元素。数据在内部始终根据其关联键进行排序。

什么是 multimap::lower_bound()?

multimap::lower_bound() 函数是 C++ STL 中的一个内置函数,定义在 <map> 头文件中。lower_bound() 返回一个指向 Multimap 容器下界的迭代器。此函数返回一个迭代器,该迭代器指向键 k 之前的第一个元素。

语法

multi.lower_bound(key& k);

参数

此函数仅接受一个参数 −

  • k − 我们要搜索的键。

返回值

此函数返回一个迭代器,该迭代器指向键 "k" 中第一个被认为位于键 k 之前的元素。

输入 

multimap<char, int> newmap;
newmap.insert(make_pair(‘a’, 1));
newmap.insert(make_pair(‘b’, 2));
newmap.insert(make_pair(‘c’, 3));
newmap.lower_bound(b);

输出 

a:1

示例

#include <bits/stdc++.h>
using namespace std;
int main(){
   //创建多重映射
   multimap<int, int> mul;
   mul.insert({ 2, 10 });
   mul.insert({ 1, 20 });
   mul.insert({ 1, 30 });
   mul.insert({ 3, 40 });
   mul.insert({ 3, 50 });
   mul.insert({ 4, 60 });
   // 下限为 1
   auto i = mul.lower_bound(1);
   cout << "键 1 的下界为: ";
   cout << (*i).first << " " << (*i).second << endl;
   // 2 的下界
   i = mul.lower_bound(2);
   cout << "键 2 的下界为: ";
   cout << (*i).first <<" "<<(*i).second << endl;
   // 3 的下界
   i = mul.lower_bound(3);
   cout << "键 3 的下界为:";
   cout << (*i).first << " << (*i).second << endl;
   return 0;
}

输出

如果我们运行上述代码,将会生成以下输出−

键 1 的下界为:1 20
键 2 的下界为:2 10
键 3 的下界为:3 40

相关文章