C++ STL 中的 upper_bound() 函数映射


在本文中,我们将讨论 C++ STL 中 map::upper_bound() 函数的工作原理、语法和示例。

什么是 C++ STL 中的 Map?

Map 是关联容器,有助于存储由键值和映射值组成的元素,并按特定顺序排列。在 map 容器中,数据始终借助其关联键以内部方式进行排序。通过其唯一键访问 map 容器中的值。

什么是 map::upper_bound()?

map::upper_bound() 函数是 C++ STL 中的内置函数,在中定义 header file. upper_bound() returns an iterator to the upper bound of the map container. This function returns an iterator which points to the last element which is considered to go after the key k.

语法

Map_name.upper_bound(key& k);

参数

此函数仅接受 1 个参数 -

  • k - 我们想要搜索的键。

返回值

此函数返回指向键‘k’的下一元素的迭代器,该元素被视为在键 k 之后。

示例

输入

map<char, int> newmap;
newmap[‘a’] = 1;
newmap[‘b’] = 2;
newmap[‘c’] = 3;
newmap.upper_bound(b);

输出

c:3

示例

 实时演示

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.insert({5, 50});
   TP_Map.insert({2, 30});
   TP_Map.insert({1, 10});
   TP_Map.insert({4, 70});
   cout<<"\nTP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.rbegin(); i!= TP_Map.rend(); i++) {
      cout << i->first << "\t" << i->second << endl;
   }
   auto i = TP_Map.upper_bound(2);
   cout << "The upper bound of key 2 is ";
   cout << i->first << " " << i->second << endl;
   auto i_1 = TP_Map.upper_bound(3);
   cout << "The upper bound of key 3 is ";
   cout << i_1->first << " " << i_1->second << endl;
   return 0;
}

输出

TP Map is:
MAP_KEY    MAP_ELEMENT
5             50
4             70
2             30
1             10
The upper bound of key 2 is 4 :70
The upper bound of key 3 is 4 :70

更新于: 15-4-2020

1 千次以上浏览

开启你的 事业

完成课程获得认证

开始
广告